1、简介
crontab命令常见于 Unix和类Unix 的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
2、配置格式
2.1、语法格式
* * * * * cmd
其中,*
代表的是所有,如果五个*
则表示每分钟执行一次
2.2、参数解析
<分钟> <小时> <每月的第n天> <每年的第n月> <每周的第n天> <执行的命令>
2.3、取值范围
参数类型 | 取值范围 |
---|---|
分钟 | 1~60 |
小时 | 1~60 |
天 | 1~31 |
月 | 1~12 |
周天 | 1~7 |
3、案例
简单的指令可以直接打命令上去,如果涉及多个操作则需要编写脚本并赋予执行权限,然后再去调用
3.1、如何新建任务
通过下面的命令可以进入任务编辑
crontab -e
通过下面的命令可以列出当前所有任务
crontab -l
root@l:~# crontab -l
*/5 * * * * flock -xn /tmp/stargate.lock -c '/usr/local/qcloud/stargate/admin/start.sh > /dev/null 2>&1 &'
15 * * * * /data/liu/auto/wordpress/wordpress_bak.sh
1 21 * * * /data/liu/auto/step_all.sh
1 00 * * * /data/liu/auto/clean
root@l:~#
3.2、每分钟打印一次内存使用信息
由于这个只要一条组合命令即可完成,所以不需要写脚本
* * * * * free -m | tee -a /data/liu/mem.log
实现效果
3.3、每天某个时间执行脚本
每天
21
点01
分执行脚本/data/liu/auto/step_all.sh
定时执行脚本不能通过解析器去调用脚本,只能赋予脚本执行权限
1 21 * * * /data/liu/auto/step_all.sh