linux定时任务

操作系统定时任务

概念介绍:周期性让系统完成相应操作任务
作用说明:周期性进行数据备份
周期性重启服务程序
周期性切割文件信息
周期性执行脚本文件

定时任务实现方式

①:利用crond服务实现
crontab
/var/log/cron
②:利用atd软件实现【一次性设置】
③:利用anacron实现【系统默认,设置时间不灵活】
/etc/cron.daily – 此文件中的脚本24小时为周期做一次执行
/etc/cron.hourly – 此文件中的脚本每小时为周期做一次执行
/etc/cron.monthly – 此文件中的脚本每月为周期做一次执行
/etc/cron.weekly – 此文件中的脚本每周为周期做一次执行

定时任务设置方法

准备工作:
确认是否安装定时任务软件:
确认定时任务服务是否启动:systemctl status crond
配置过程:
crontab -l — 查看系统已有的定时任务

crontab -e — 配置系统定时任务
编写格式:* * * * * 任务信息
五个星号代表时间信息
第一个代表分钟 – 00-59
第二个
代表小时 – 00-23【24小时制】
第三个代表日期 – 01-31
第四个
代表月份 – 01-12
第五个*代表星期 – 1-7 / 0-6

cat /etc/crontab
# Example of job definition:
 # .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

时间符号信息
*:每。每分每小时每周每月
*/2:每两小时
,:指定时间完成任务。主要用来针对奇数时间,1,3,5,7,9
-:指定连续时间范围执行定时任务。00 1-7 * * *
查看定时任务是否执行:
tail -f /var/log/cron
systemctl status rsyslog.service 记录日志信息服务

定时任务设置常见错误

定时任务命令信息尽量使用绝对路径
星期信息个日期信息最好不要同时设置
定时任务尽量不要使用特殊符号
【将定时任务信息放入脚本文件】

* * * * * /bin/sh /root/test.sh

【将特殊符号进行转义】

* * * * * echo "`date +\%F_\%T`" >> /tmp/test.txt

尽量让定时任务执行时不要产生输出信息(错误输出)
定时任务操作出错信息会追加到一个邮件文件中,会消耗磁盘资源 block
/var/spool/mail/root

关闭邮件服务, 错误信息不会追加到邮件文件中,但是会生成大量小文件信息
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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值