
作用:通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。
crontab的文件格式
分 时 日 月 星期 要运行的命令
* * * * * 要运行的命令
第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令
"*"代表所有的取值范围内的数字,如月份字段为*,则表示1到12个月;
"/"代表每一定时间间隔的意思,如分钟字段为*/10,表示每10分钟执行1次
"-"代表从某个区间范围,是闭区间。如“2-5”表示“2,3,4,5”,小时字段中0-23/2表示在0~23点范围内每2个小时执行一次。
","分散的数字(不一定连续),如1,2,3,4,7,9。
# 显示已有的
crontab -l # 获取所有的定时任务计划列表
# 建立
crontab -e # 编辑或添加定时计划任务
按键盘的 i 键进入编辑模式,如添加每天2点30执行的curl任务 则输入30 2 * * * curl http://172.16.12.106/aixm/index/task/doAttendanceRecord
编辑完成后按ESC键退出编辑模式,输入 :wq 保存编辑内容即可
常见时间设置
执行时间 | 格式 |
每分钟定时执行一次 | * * * * * |
每小时定时执行一次 | 0 * * * * |
每天定时执行一次 | 0 0 * * * |
每周定时执行一次 | 0 0 * * 0 |
每月定时执行一次 | 0 0 1 * * |
每月最后一天定时执行一次 | 0 0 L * * |
每年定时执行一次 | 0 0 1 1 * |
确保cron服务正在运行。在大多数Linux发行版中,你可以通过运行以下命令来启动cron服务(如果尚未运行):
sudo service cron start
或者使用systemd(在较新的系统中):
sudo systemctl start cron
并确保cron服务设置为开机自启:
sudo systemctl enablecron