定时任务

系统定时任务设置方法

准备工作:

1 确认是否安装定时任务软件:  cronie-1.4.11-19.el7.x86_64
2 确认定时任务服务是否启动:  systemctl status crond

配置过程:

crontab  -l  --- 查看系统已有定时任务信息
                 no crontab for root  --- 没有设置定时任务
crontab  -e  --- 配置系统定时任务信息 (语法检查) 
                 == vim /var/spool/cron/root

编写格式:

* * * * *   任务信息
时间信息   执行命令时间信息: 5个星号表示
第一个星号: 分钟   00 ~ 59
第二个星号: 小时   00 ~ 23   24小时制  2点 凌晨/下午
第三个星号: 日期   1 ~ 31
第四个星号: 月份   1 ~ 12
第五个星号: 星期   1 ~ 7  0 ~ 6 

每隔2个小时   0 */2  * * *  
*/n :  每隔多久  每隔n分钟  每隔n小时
                 执行周期是n倍数时间
                 
,   :  指定时间完成定时任务
     1,3,5,7
     
-   :  指定连续时间范围执行定时任务
    00 1-7 * * *

理论: 星期和日期 建议不要同时设置 

查看定时任务是否执行:

tail -f /var/log/cron       

定时任务设置常见错误

1 定时任务命令信息尽量使用绝对路径  **(定时任务识别/usr/bin  不识别/usr/sbin)**

2 定时任务命令信息最好不要使用特殊符号
定时任务无法识别特殊符号处理方法:
方法一: 将定时任务命令信息放入到脚本文件中
方法二: 将特殊符号信息进行转义
* * * * * echo "`date +\%F_\%T`" >> /tmp/test.txt

总结

用户设置定时任务: crontab  /var/log/cron
PS: 日志文件没有记录信息 systemctl status rsyslog.service 

尽量让定时任务执行时不要产生输出信息(错误输出)	
定时任务操作出错信息会追加到一个邮件文件中
/var/spool/mail/root          消耗磁盘资源 block
关闭邮件服务, 错误信息不会追加到邮件文件中
systemctl status postfix.service  --- 让系统发送邮件信息服务
但是会生成大量小文件信息
/var/spool/postfix/maildrop/  消耗磁盘资源 inode

处理方法: 
	  第一个里程: 邮件服务开启
	  systemctl start postfix.service
	  第二个里程: 定时任务执行时错误信息和正确信息放入到系统黑洞中
	  /dev/null
	  # crontab -e
      * * * * * /usr/bin/cp /oldboy/oldboy.txt  /backup &>/dev/null
      * * * * * /usr/bin/cp /oldboy/oldboy.txt  /backup >/dev/null 2>&1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值