1、at
at命令主要实现一次性的计划任务。
#at -f script 8:20 am December 7 //在12月7号的8:20执行某脚本
#at now+5minutes //在5分钟后执行
>free
>ctrl+d //ctrl+d结束输入
#at midnight+5minutes //午夜过后的5分钟
>echo 'hello'|mail -s "test mail" kevin@stationX.example.com
>ctrl+d
#atq //查询at队列
#at -c 1 //查询指定的at作业详情
#at -l //查询at队列
#at -r 1 //清除at任务
#at -m //作业完成给用户发送邮件
2、crontab
crontab完成周期性执行的任务。
#crontab -e -u kevin //为用户kevin设置周期性任务
#crontab -e //为当前登录用户设置周期性任务
各字段说明
分钟 | 0-59 | *(任意分钟)、[1-5](1~5分钟)、1,5,7(第1,5,7分钟) |
小时 | 0-23 | 同上 |
日期 | 1-31 | 同上 |
月份 | 1-12 | 同上 |
星期 | 0-7 | 0/7都是指周日,其它同上 |
执行任务 | 脚本的绝对路径 | /bin/tar rf backup_opt.tar /opt/* |
#crontab -l //查看crontab任务列表
#crontab -r //删除当前提交的crontab任务列表
任何用户提交的crontab作业都保存在/var/spool/cron目录下。
系统crontab文件
#cat /etc/crontab
系统cron文件中的run-parts命令用于执行指定目录下的脚本。run-parts本身是个shell脚本,位于 /usr/bin目录下。
/etc/cron.hourly //每小时自动执行的任务
/etc/cron.dally //每天自动执行的任务
/etc/cron.weekly //每周自动执行的任务
/etc/cron.monthly //每月自动执行的任务
一个特殊的脚本:0anacron
当主机未能正确执行自动化业务时,在下次执行时会优先重新执行。
转载于:https://blog.51cto.com/foreverzpk/1575700