crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
查看本机定时任务crontab -l
[root@localhost data]# crontab -l
30 8 * * * /usr/bin/date -u
date -u用于显示目前的格林威治时间
30 8 * * *代表每天早晨8点30分执行
crontab -e编辑定时任务
可以像使用 vi 编辑其他任何文件那样修改 crontab 文件并退出。如果修改了某些条目或添加了新的条目,那么在保存该文件时, cron 会对其进行必要的完整性检查。如果其中的某个域出现了超出允许范围的值,它会提示你。
crontab -r清空定时任务
如果仅想删除一条任务,请使用crontab -e
查看执行记录
cat /var/mail/root
例子
minute hour day month week command
# For details see man 4 crontabs
# 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 表示星期(0 或 7 表示星期天)
| | | | | .------------------- username 以哪个用户来执行
| | | | | | .------ command 要执行的命令,可以是系统命令,也可以是自己编写的脚本文件
| | | | | | |
* * * * * user-name command to be executed
每分钟执行
* * * * *
每小时的第3和第15分钟执行
3,15 * * * *
8点到11点的第3和第15分钟执行
3,15 8-11 * * *
每周一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1
每月1、10、22日执行
1,10,22 * *
晚上23点到早晨7点每小时执行
* 23-7/1 * * *
参考文档
crontab详解 - 小片清风 - 博客园 (cnblogs.com)