首页 > 系统相关 >Linux---定时任务

Linux---定时任务

时间:2024-01-20 22:35:59浏览次数:27  
标签:opt centos echo --- etc Linux 定时 root

1.定时任务的作用

定时任务作用:
1.定时备份(重要的系统文件 系统数据 业务文件 业务数据等)
什么时间备份(业务低谷期)
视频: 8-12点
小说: 12点-凌晨1点
公司官网: 上午10点下午6点
购物: 凌晨3-5点
游戏: 早上8-9点左右
为什么低谷期做备份?
因为备份需要tar打包压缩,打包压缩占用CPU负载

2.定时数据统计
3.定时辅助进程运行
4.其他作用

2.定时任务的配置文件

分为两个配置文件:
第一个配置文件: 系统配置文件
/etc/crontab

第二个配置文件: 用户配置文件
crontab -e 编辑---->实际写入到/var/spool/cron/root
crontab -l 列出当前所有的定时任务

日志文件:
/var/log/cron

3.定时任务的格式

语法格式:
分时日月周      用户名(root) 可执行命令
 *  *  *  *  * user-name   command to be executed
 
 第一颗星: 分钟 0 - 59  0表示整点
 第二颗星: 小时 0 - 23  0表示凌晨12点
 第三颗星: 日   1 - 31 
 第四颗星: 月   1 - 12
 第五颗星: 周   0 - 6  0和7表示 星期天

4.定时任务小案例

案例1:
 每天的上午8点30分,来学校上车(go to school)
 30 08 * * *  root  echo go to school
 
 案例2: 笔试题
 每天晚上12点准时,回家自己开车(go to bed)
 00 00 * * * root echo go to bed
 
 
 案例3: 每分钟输出自己的姓名
 * * * * * root echo lll
 
 
 案例4: 每个小时的第5分钟执行echo hehe
 05 * * * * root echo hehe
 
 
 案例5: 早上7点到上午11点执行命令
 00 7-11 * * * root echo ..
 

案例5: 早上7点 9点 下午13点-15点执行
 00 7,9,13-15 * * * root echo ..
 

案例6:间隔5分钟时间同步
*/5 * * * * root ntpdate ntp1.aliyun.com




案例7:凌晨12点查找7天前的文件删除,或者备份
00 00 * * * root find /data -type f -mtime +7|xargs tar zcvf /opt/etc.tar.gz
00 01 * * * root find /data -type f -mtime +7|xargs rm





案例8: 校验MD5值保证文件被篡改时第一时间发现并恢复业务
find /data -type f |xargs md5sum >/opt/md5.log
*/5 * * * * root md5sum -c /opt/md5.log >/opt/result.txt




案例9:每分钟将自己的名字追加写入家目录中的test.txt文件中
* * * * * root echo lzh >> /root/test.txt





案例10:每间隔5分钟执行一次时间同步
*/5 * * * * root ntpdate ntp1.aliyun.com




案例11:每天凌晨5点 将/etc/hosts /etc/passwd 打包到/opt/下以IP地址和当天时间命名

[root@centos ~]#tar zcvf /opt/`hostname -I|awk '{print $1}'`_`date +%F`.tar.gz /etc/hosts /etc/passwd

* * * * * root tar zcvf /opt/`hostname -I|awk '{print $1}'`_`date +\%F`.tar.gz /etc/hosts /etc/passwd



案例12:每天凌晨12点 查找/data目录下7天前的文件并删除(7天前的文件通过修改时间来创建)
00 00 * * * root find /data/ -type f -mtime +7 -name "*.log"|xargs rm &>/dev/nul

5.使用脚本进行定时任务案例

1.给定时任务添加注释
2.两条命令以上使用脚本的方式运行
案例: 创建IP地址+时间命名的目录
将/etc/hosts /etc/passwd 打包放在上面的目录中
查找目录中大于7天前的文件删除
[root@centos ~]#mkdir /server/scripts -p  创建一个专门放脚本的地方
[root@centos ~]#ifconfig eth0|awk 'NR==2{print $2}'
10.0.0.200
[root@centos ~]#IP=`ifconfig eth0|awk 'NR==2{print $2}'`
[root@centos ~]#echo $IP
10.0.0.200
[root@centos ~]#TIME=`date +%F`
[root@centos ~]#echo $TIME
2023-03-15
[root@centos ~]#echo $IP_$TIME
2023-03-15
[root@centos ~]#echo ${IP}_$TIME
10.0.0.200_2023-03-15
[root@centos ~]#mkdir ${IP}_$TIME
[root@centos ~]#ll
total 8
drwxr-xr-x. 2 root root 6 Mar 15 09:23 10.0.0.200_2023-03-15



最终结果:
[root@centos /server/scripts]#cat backup.sh
#创建/opt下IP地址+时间命名的目录
IP=`ifconfig eth0|awk 'NR==2{print $2}'`
TIME=`date +%F`
mkdir -p /opt/${IP}_$TIME
#将/etc/hosts /etc/passwd 打包放在上面的目录中
tar zcf /opt/${IP}_$TIME/${TIME}.tar.gz /etc/hosts /etc/passwd &>/dev/null
#查找目录中大于7天前的文件删除
find /opt/${IP}_$TIME/ -type f -mtime +7|xargs rm &>/dev/null



注意:
写入到定时任务:
1.先按照每分钟进行测试 然后修改回固定的时间
# 00 00 * * * root sh /server/scripts/backup.sh
3.在定时任务不识别% 需要加转义\% 或者将命令写入脚本
4.执行脚本尽量前面加上sh或者bash
/server/scripts/backup.sh 需要给脚本执行权限
sh /server/scripts/backup.sh 不需要脚本执行权限
5.执行脚本的结果,定时任务的结果定向到空或者文件中
在执行每条定时任务后 系统会自动给用户发送邮件信息
/var/spool/mail/root

标签:opt,centos,echo,---,etc,Linux,定时,root
From: https://www.cnblogs.com/liuzhonghua1/p/17977243

相关文章

  • alpine linux
    AlpineLinux简介Alpine直译为高山,国内一般叫高山Linux。它以小,简单,安全而著称,所以作为基础镜像是非常好的一个选择,可谓是麻雀虽小但五脏俱全,简直不要太方便,镜像非常小巧,不到6M的大小,所以特别适合容器打包。仓库地址:https://hub.docker.com/_/alpineAlpine官方网站:https://ww......
  • Rime-小狼毫输入法改横向排列
    Rime-小狼毫输入法常用设置官方Rime参考书:https://github.com/rime/home/wiki/RimeWithSchemata#定製指南官方Rime定制指南:https://github.com/rime/home/wiki/CustomizationGuide修改纵向/横向排列选词框%appdata%目录下\Roaming\Rime\weasel.custom.yaml在patch:下添加"......
  • springboot+mybatis-plus+redis整合(附上脚手架完整代码)
    首先新建一个springboot项目next到这里的时候,我们可以选择用jdk几,还有就是Group,这个一般就是com.公司名字了,artifact就是项目名字。个人开发我还是喜欢用com.名字前缀哈。到了这一步的话,如果对这个项目有什么别的需求,比如需要用到mybatis啥的可以勾相应的选项。其实就是idea自动帮......
  • gin-net-http 2
    目前知道gin是基于net/http进一步封装,来看下net/http是怎样写web的packagemainimport("fmt""net/http")funcindex(whttp.ResponseWriter,r*http.Request){fmt.Fprintln(w,"HelloWorld")}funcmain(){http.HandleFunc("/"......
  • Linux权限管理小记
    1.rwx是什么?在Linux中,rwx是文件和目录的权限标记。它代表读、写和执行这三个操作。r表示读取权限。如果一个用户有读取权限,他可以查看文件或目录中的内容。用数字4表示w表示写入权限。如果一个用户有写入权限,他可以修改文件或目录中的内容。用数字2表示x表示执行权限。......
  • linux配置静态IP
    网卡配置文件网卡目录[root@localhostopt]#ls/etc/sysconfig/network-scripts/网卡文件名字,和我们ifconfig看到的一样[root@localhostopt]#ls-l/etc/sysconfig/network-scripts/ifcfg-*-rw-r--r--.1rootroot310Dec3118:36/etc/sysconfig/network-scripts/ifc......
  • 切分数据集到train-val-test文件夹
    importosimportrandomimportshutildefsplit_data(source_dir,train_dir,val_dir,test_dir):#确保目标文件夹存在os.makedirs(train_dir,exist_ok=True)os.makedirs(val_dir,exist_ok=True)os.makedirs(test_dir,exist_ok=Tru......
  • 牛客小白月赛86-水平考试
    链接:https://ac.nowcoder.com/acm/contest/73450/B来源:牛客网/*include<bits/stdc++.h>usingnamespacestd;intmain(){intn;cin>>n;stringa,b;for(inti=0;i<n;i++){cin>>a>>b;if(a.size()>b.size()){cout<<0<<endl;......
  • 云计算-代码开发流水线及CCE容器集群使用案例
    总结自己在使用华为云商业CI/CD代码流水和CCE容器集群部署案例学无止尽啊新项目构建镜像使用华为codearts代码流水线,详细见官方文档https://support.huaweicloud.com/productdesc-devcloud/devcloud_pdtd_00000.html以部署report-service构建测试镜像为例dockerfile文件前端FRO......
  • 无涯教程-MATLAB - Octave
    GNUOctave是像MATLAB这样的高级编程语言,它与MATLAB大部分兼容。它也用于数值计算。Octave与MATLAB具有以下共同特征-矩阵是基本数据类型它具有对复数的内置支持它具有内置的数学函数和库它支持用户定义的函数GNUOctave也是可免费重新发行的软件,您可以根据自由软件基金会......