Linux系统定时任务「建议收藏」

2022-07-31 17:31:42 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Linux系统定时任务

定时任务Crond

Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调度服务。

Crond服务会定期(默认每分钟检查一次)检查系统中是否有要执行的任务工作,如果有,便会根据其预先设定的定时任务规则自动执行该定时任务工作,这个crond定时任务服务就相当于我们平时早起使用的闹钟一样。

程序文件:程序代码组成,但是没有在计算机内执行。当前没有执行

进程:所谓的进程就是计算机中正在执行的程序

守护程序或守护进程:守护进程就是一种运行的程序

crontab -l用来查看定时任务信息

下面是定时任务的使用指定格式:

# Example of job definition:

# .—————- minute (0 – 59) //分钟

# | .————- hour (0 – 23) //代表小时

# | | .———- day of month (1 – 31) //代表日、天

# | | | .——- month (1 – 12) OR jan,feb,mar,apr … //代表月份

# | | | | .—- day of week (0 – 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat //代表星期,星期几

# | | | | |

# * * * * * user-name command to be executed

简单点儿记就是分时日月周,*代表每的意思

例:

①30 3,12 * * * /bin/sh /scripts/oldboy.sh

每天凌晨3点半和中午12点半的时刻执行/scripts/oldboy.sh脚本

②30 */6 * * * /bin/sh /scripts/oldboy.sh

每6小时30分执行一次/scripts/oldboy.sh脚本

③30 8-18/2 * * * /bin/sh /scripts/oldboy.sh

在每天的8点到18点之间,每隔2小时的 半点时刻执行/scripts/oldboy.sh

④30 21 * * * /application/apache/bin/apachectl graceful

每天晚上9点半重启apache

⑤ 45 4 1,10,22 * * /application/apache/bin/apachectl graceful

每月1日10日22日的4点45分重启apache

⑥ 10 1 * * 6,0 /application/apache/bin/apachectl graceful

每周六和周日的凌晨1点10分重启apache

⑦ 0,30 18-23 * * * /application/apache/bin/apachectl graceful

每天的18点到23点每隔30分钟重启一次apache。

提示:最后一次执行任务时23:30分

⑧ 0 */1 * * * /application/apache/bin/apachectl graceful

每小时重启一次apache

####⑨ * 23,00-07/1 * * * /application/apache/bin/apachectl graceful

每天的23点与0-7点之间每分钟重启一次apache

⑩ 00 11 * 4 1-3 /application/apache/bin/apachectl graceful

每年的4月份每周的周1到周3每天的11点整重启一次apache

//一般周和日尽量不要同时用,否则可能达不到想要的效果

例:8月9号上午10:00开学:

00 10 09 08 *

每周日,下午7:30上晚自习:

30 07 * * 0

工作中调试定时任务的方法:

  1. 增加执行任务频率调试任务

每分钟或者系统时间之后5分钟执行,看结果对不对

某些任务不能用于生产环境没有测试机会

代码、配置变更发布流程:

个人开发环境–办公室测试环境–IDC机房测试环境–IDC正式环境(分组,灰度发布)

  1. 调整系统时间调试任务(不能直接用于生产环境),保持5分钟
  2. 通过脚本日志输出调试定时任务
  3. 注意一些任务命令带来的问题

例如:

标准输出多了

*/1 * * * * echo “==” >> /emp/oldboy.log >/dev/null 2>&1)

百分号转义(脚本无需转义)

*/1 * * * * tar zvf /tmp/oldboy_$(date %F).tar.gz /etc/hosts

  1. 注意:环境变量导致的定时任务故障(java)
  2. 通过crond定时任务服务日志调试定时任务(/var/log/oron)
  3. 其他问题调试的办法

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/127494.html原文链接:https://javaforall.cn

0 人点赞