Linux下定时任务与开机执行

it2023-01-12  73

使用场景

需要定时执行一些脚本。比如,定时清除日志。

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 # ... # 追加需要开始执行的命令 # ...
最新回复(0)