使用场景
需要定时执行一些脚本。比如,定时清除日志。
crontab
crontab可以再Linux下执行定时任务。常用命令:
# 管理定时任务
crontab -e
# 查看定时任务
crontab -l
# 删除定时任务
crontab -r
cron表达式
Linux下cron表达式可以表示6个维度, 从左往右分别是:
- 星期:0 - 6 (星期天可以用0 或者 7 来表示)
- 月:1-12
- 日:1-31
- 时:0-23
- 分:0-59
另外:
- * 表示任意的(分、时、日、月、周)时间都执行
- - 表示一个时间范围段, 如5-7,表示5到7之间
- , 表示分隔时段,是或的关系, 如6,0,4表示周六、日、四
- /1 表示每隔n单位时间, 如*/10 每10分钟
常用cron表达式
0 2 * * * ls #每天的凌晨2点整执行
0 2 1 * * ls #每月的1日的凌晨2点整执行
0 2 14 2 * ls #每年的2月14日凌晨2点执行
0 2 * * 7 ls #每周天的凌晨2点整执行
0 2 * 6 5 ls #每年的6月周五凌晨2点执行
0 2 14 * 7 ls #每月14日或每周日的凌晨2点都执行
0 2 14 2 7 ls #每年的2月14日或每年2月的周天的凌晨2点执行
*/10 02 * * * ls #每天凌晨2点,每隔10分钟执行一次
* * * * * ls #每分钟都执行
00 00 14 2 * ls #每年2月14日的凌晨执行命令
*/5 * * * * ls #每隔5分钟执行一次
00 02 * 1,5,8 * ls #每年的1月5月8月凌晨2点执行
00 02 1-8 * * ls #每月1号到8号凌晨2点执行
0 21 * * * ls #每天晚上21:00执行
45 4 1,10,22 * * ls #每月的1,10,22号的4:45执行
45 4 1-10 * * ls #每月的1到10号的4:45执行
3,15 8-11 */2 * * ls #每隔两天的上午8点到11点的第3和第15分钟执行
0 23-7/1 * * * ls #晚上11点到早上7点之间,每隔一个小时执行
15 21 * * 1-5 ls #周一到周五每天晚上21:15执行
另一种场景: 开机运行
处理将应用设置为自启服务外, 还可以在在 /etc/rc.local
中追加命令。
vi /etc/rc.local
# ...
# 追加需要开始执行的命令
# ...