Linux crontab和Windows task schedules非常的相似。Crontab可以用来在系统中定期的执行任务
比如:定时更新用户过期会员,定时微信公众号推送消息...
从左到右依次为:
- [分钟]
- [小时]
- [每月的某一天]
- [每年的某一月]
- [每周的某一天]
- [执行的命令]
注意:请留意每个选项的取值范围
添加/编辑 Crontab
添加或更新crontab中的命令
crontab -e
默认情况下,系统会编辑当前登录用户的crontab命令集合。需要编辑其他用户的命令集合,需要使用到如下的命令
crontab -u username -e
查看 Crontab
查看当前系统登录用户的Crontab命令列表
crontab -l
查看其他用户的Crontab命令列表
crontab -u username -l
10个经典实例
1.每天 02:00 执行任务
0 2 * * * /bin/sh elephdev.sh
2.每天 5:00和17:00执行任务
0 5,17 * * * /scripts/script.sh
3.每分钟执行一次任务
* * * * * /scripts/script.sh
4.每周日 17:00 执行任务
0 17 * * sun /scripts/script.sh
5.每10分执行一次任务
*/10 * * * * /scripts/script.sh
6.在特定的某几个月执行任务
* * * jan,may,aug * /script/script.sh
7.在特定的某几天执行任务
0 17 * * sun,fri /script/scripy.sh
8.在某个月的第一个周日执行任务
0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh
9.每四个小时执行一个任务
0 */4 * * * /scripts/script.sh
10.每周一、周日执行任务
0 4,17 * * sun,mon /scripts/script.sh
11.每个30秒执行一次任务
我们没有办法直接通过上诉类似的例子去执行,因为最小的是1min。但是我们可以通过如下的方法
* * * * * /scripts/script.sh
* * * * * sleep 30; /scripts/script.sh
12.多个任务在一条命令中配置
* * * * * /scripts/script.sh; /scripts/scrit2.sh
13.系统重启时执行
@reboot /scripts/script.sh
发表评论 取消回复