查看已存在的任务
查看crontab 输入命令: cat /etc/crontab
在设定编辑之前都建议列出服务查看一下: crontab -l
语法:
**** user_name command to be executed
- 前面五位是定时执行的时间周期 说明如下:
第一个 * 表示分钟:取值范围 0 -59
第二个 * 表示小时:取值范围 0 -23
第三个 * 表示天数:取值范围 1 -31
第四个 * 表示月份:取值范围 1 -12
第五个 * 表示每周:取值范围 0 -6
user_name
表示执行定时任务的用户 不指定默认当前用户command to be executed
表示要执行的脚本语句。- 组合用法
使用(-)可以划定范围,如:0 0-3 * * * 脚本 表示每天0-3点整执行脚本
使用(,)可以枚举时间,如: 0,15,30,45 * * * * 脚本 表示每个小时的0分,15分,45分,30分会执行脚本
使用(/)可以指定间隔,如:* */8 * * * 脚本 表示每8小时执行脚本
组合用法,0-20/10 * * * * 脚本 表示在前20分钟内每隔10分钟执行脚本
本人的一个定时脚本语句,5 20 * * * /usr/local/bin/kubectl rollout restart deployment identity-deployment 每天20点5分重启k3s服务
- 示例:
使用(-)可以划定范围:0 0-3 * * * 脚本 表示每天0-3点整执行脚本
使用(,)可以枚举时间: 0,15,30,45 * * * * 脚本 表示每个小时的0分,15分,45分,30分会执行脚本
使用(/)可以指定间隔:* */8 * * * 脚本 表示每8小时执行脚本
组合用法:0-20/10 * * * * 脚本 表示在前20分钟内每隔10分钟执行脚本
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
步骤:
方法一:
touch crontab.txt
将上面的cron job 复制到 crontab.txt 保存
让crontab生效:crontab /xxx/crontab.txt
重启crond
方法二:
直接 crontab -e 编辑crontab
按 i 进入编辑
将上面的cron job复制
Esc 退出
:wq 或 shift + zz
重启crond
常用命令:
crontab -u //设定特定用户的定时服务
crontab -l //列出当前用户定时服务内容
crontab -r //删除当前用户的定时服务
crontab -e //编辑当前用户的定时服务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看crond状态
你也可以将这个服务在系统启动的时候自动启动:
在/etc/rc.d/rc.local这个脚本的末尾加上:
/sbin/service crond start
查看cron执行日志:cat /var/log/cron
- 如果最后带^M 则需要设置一下编码
vi crontab.txt :set ff=unix
注意:
1.crontab.txt中的内容最后一行需要换行,因为crontab.txt中的内容是通过outputstream写入的
2.java和linux系统级的区别
Java的Quartz任务(有秒)
0 1 20 * * ? /usr/local/bin/kubectl rollout restart deployment basedata-deployment
linux系统的crontab(没有秒)
1 20 * * * /usr/local/bin/kubectl rollout restart deployment basedata-deployment
Original: https://www.cnblogs.com/JimmyThomas/p/16348282.html
Author: JimmyThomas
Title: 在Linux中使用crontab
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613123/
转载文章受原作者版权保护。转载请注明原作者出处!