在Linux中计划自动化任务,执行数据备份、更新系统、定期重新引导等。它是一个守护进程,按照指定的时间间隔执行这些任务,crontab
1》系统范围的crontab,位于/etc/crontab,需要root权限
2》用户创建的crontab,/var/spool/cron或者/var/spool/cron/crontabs
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装
# crontab
-bash: crontab: command not found
如时没有安装 crontab,需要先安装它
基本语法
基本语法:* * * * * command
m h d moy dow command
或者
m h d moy dow /path/to/script
m:代表分钟0~59
h:代表小时0~23
d:代表某一天1~31
moy:一年中的月份1~12
doy:周几,0~6,0是星期天
command: 执行的命令
添加计划任务
crontab -e
进入任务编辑
实用例子
eg:每天下午12:30重启电脑
30 12 * * * /sbin/reboot
*表示匹配所有项
eg,每天凌晨4点和下午4点执行
0 4,16 * * * /sbin/reboot
eg,每个周五下午5点执行
0 17 * * Fir /sbin/reboot
eg,每三十分钟执行一次
*/30 * * * * /sbin/reboot
eg,每5个小时运行一次
* */5 * * * /sbin/reboot
eg,周三和周五,wed,fri
多个任务,script1;script2
特殊字符串:
@hourly @daily @weekly @monthly @yearly
/etc/cron.deny 黑名单
/etc/cron.allow 白名单
备份crontab -l > /path/to/file.txt
日志cat /var/log/cron
实时查看tail -f /var/log/cron
快捷指令at
eg:
at 12:00 PM septermber 30 2017
at now + 1 hour
at 9:00 AM tomorrow
如果要结束任务,Ctrl+d。命令atq查看当前用户的所有任务,atq,或者sudo atq,也可以用atrm命令查看以ID为参数的列表。