酒泉地网站推广,汽车之家网站是怎么做的,抖音代运营怎么解绑,建筑工人找活的平台目录安装依赖服务启停任务操作参数简要说明1、参数说明2、cron表达式解析(1)定义(2)结构(3)字段含义(4)注意事项(5)常用表达式例子crontab示例结尾安装依赖
# vixie-cron软件包是crontab的主程序
# crontabs软件包是用来安装、卸装、或列举用来驱动crontab守护进程的表格的程序…
目录安装依赖服务启停任务操作参数简要说明1、参数说明2、cron表达式解析(1)定义(2)结构(3)字段含义(4)注意事项(5)常用表达式例子crontab示例结尾安装依赖
# vixie-cron软件包是crontab的主程序
# crontabs软件包是用来安装、卸装、或列举用来驱动crontab守护进程的表格的程序
yum install vixie-cron
yum install crontabs服务启停
# 启动服务
service crond start
# 关闭服务
service crond stop
# 重启服务
service crond restart
# 重新载入配置
service crond reload
# 查看crontab服务状态
service crond status 任务操作
# 编辑
crontab -e
# 直接编辑/etc/crontab 文件即vi /etc/crontab添加相应的任务
vi /etc/crontab
# 删除
crontab -r
# 查看
crontab -l 参数简要说明
1、参数说明 Minute每个小时的第几分钟执行该任务取值范围0-59Hour每天的第几个小时执行该任务取值范围0-23Day每月的第几天执行该任务取值范围1-31Month每年的第几个月执行该任务取值范围1-12DayOfWeek每周的第几天执行该任务取值范围0-60表示周末CommandPath指定要执行的程序路径2、cron表达式解析
(1)定义 Cron表达式是一个字符串字符串以5或6个空格隔开分为6或7个域每一个域代表一个含义Cron有如下两种语法格式 1Seconds Minutes Hours DayofMonth Month DayofWeek Year 2Seconds Minutes Hours DayofMonth Month DayofWeek (2)结构 corn从左到右用空格隔开秒 分 小时 日期 月份 星期中的日期 年份 (3)字段含义
字段值允许的特殊字符秒Seconds0~59的整数, - * / 四个字符分Minutes0~59的整数, - * / 四个字符小时Hours0~23的整数, - * / 四个字符日期DayofMonth1~31的整数但是你需要考虑你月的天数,- * ? / L W C 八个字符月份Month1~12的整数或者 JAN-DEC, - * / 四个字符星期DayofWeek1~7的整数或者 SUN-SAT 1SUN, - * ? / L C # 八个字符年(可选留空)Year1970~2099, - * / 四个字符
(4)注意事项 每一个域都使用数字但还可以出现如下特殊字符它们的含义是 1表示匹配该域的任意值。假如在Minutes域使用, 即表示每分钟都会触发事件。 2?只能用在DayofMonth和DayofWeek两个域。它也匹配域的任意值但实际不会。因为DayofMonth和DayofWeek会相互影响。例如想在每月的20日触发调度不管20日到底是星期几则只能使用如下写法 13 13 15 20 * ?, 其中最后一位只能用而不能使用*如果使用*表示不管星期几都会触发实际上并不是这样。 3-表示范围。例如在Minutes域使用5-20表示从5分到20分钟每分钟触发一次 4/表示起始时间开始触发然后每隔固定时间触发一次。例如在Minutes域使用5/20,则意味着5分钟触发一次而2545等分别触发一次. 5,表示列出枚举值。例如在Minutes域使用5,20则意味着在5和20分每分钟触发一次。 6L表示最后只能出现在DayofWeek和DayofMonth域。如果在DayofWeek域使用5L,意味着在最后的一个星期四触发。 7W:表示有效工作日(周一到周五),只能出现在DayofMonth域系统将在离指定日期的最近的有效工作日触发事件。例如在 DayofMonth使用5W如果5日是星期六则将在最近的工作日星期五即4日触发。如果5日是星期天则在6日(周一)触发如果5日在星期一到星期五中的一天则就在5日触发。另外一点W的最近寻找不会跨过月份 。 8LW:这两个字符可以连用表示在某个月最后一个工作日即最后一个星期五。 9#:用于确定每个月第几个星期几只能出现在DayofMonth域。例如在4#2表示某月的第二个星期三。 (5)常用表达式例子 10 0 2 1 * ? * 表示在每月的1日的凌晨2点调整任务 20 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业 30 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作 40 0 10,14,16 * * ? 每天上午10点下午2点4点 50 0/30 9-17 * * ? 朝九晚五工作时间内每半小时 60 0 12 ? * WED 表示每个星期三中午12点 70 0 12 * * ? 每天中午12点触发 80 15 10 ? * * 每天上午10:15触发 90 15 10 * * ? 每天上午10:15触发 100 15 10 * * ? * 每天上午10:15触发 110 15 10 * * ? 2005 2005年的每天上午10:15触发 120 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发 130 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发 140 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 150 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发 160 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发 170 15 10 ? * MON-FRI 周一至周五的上午10:15触发 180 15 10 15 * ? 每月15日上午10:15触发 190 15 10 L * ? 每月最后一日的上午10:15触发 200 15 10 ? * 6L 每月的最后一个星期五上午10:15触发 210 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发 220 15 10 ? * 6#3 每月的第三个星期五上午10:15触发 crontab示例
# 不输出内容(每5分钟执行一次)
*/5 * * * * /root/XXXX.sh /dev/null 21# 将正确和错误日志都输出到 /tmp/load.log(每1分钟执行一次)
*/1 * * * * /root/XXXX.sh /tmp/load.log 21 # 只输出正确日志到 /tmp/load.log(每1分钟执行一次)
*/1 * * * * /root/XXXX.sh /tmp/load.log
# 等同于
*/1 * * * * /root/XXXX.sh 1/tmp/load.log # 只输出错误日志到 /tmp/load.log(每1分钟执行一次)
*/1 * * * * /root/XXXX.sh /tmp/load.log
# 等同于
*/1 * * * * /root/XXXX.sh 1/tmp/load.log 结尾 说到最后给大家推荐一个好用的工具类cron-utils,这个工具可以解析、处理、生成cron表达式。可以参照我的另一篇博客,Java解析cron表达式实战 cron-utils github 点赞收藏富婆包养✋✋