检查linux的crontab服务,crontab任务调度健康检测

系统环境:

SUSE Linux Enterprise Server 10 SP1 (x86_64)

问题背景:

由于线上系统环境下的crontab内容比较多,在进行日常crontab任务调度时,经常会异常挂掉而影响业务的正常使用,因此结合C和Shell写了一个简单的对crontab进行健康检测的功能。

处理思路:修改syslog的配置参数,把crontab调度日志单独抽取出来,同时在crontab项里添加检测标记,通过后台守护进程定期检测状态标记来判断当前crontab调度是否正常,同时为了避免日志文件过大而影响性能,会定期对日志文件做切割和清理处理。

#--------------------------------------------------------------------------------------------------------------------------------------------

1、相关目录创建

# mkdir -p /data/logs/crontab

# mkdir -p /data/scripts

# mkdir -p /data/backup/crontab

#--------------------------------------------------------------------------------------------------------------------------------------------

2、crontab健康检测C代码

#cd /data/scripts

# vim check_cron_process.h

#vim check_cron_process.c

#vim Makefile

#make

#/data/scripts/check_cron_process

#--------------------------------------------------------------------------------------------------------------------------------------------

3、crontab任务调度日志配置【新增】

# vim /etc/syslog.conf

#vim /etc/syslog-ng/syslog-ng.conf

#/sbin/service syslog restart

#--------------------------------------------------------------------------------------------------------------------------------------------

4、crontab任务调度日志处理

(1)、日志切割与清理

# vim/data/scripts/cut_cron_log.sh

(2)、crontab信息备份

#vim /data/scripts/backup_crontab.sh

(3)、crontab垃圾头信息清理

# vim /data/scripts/clean_crontab_trash.sh

(4)、crontab设置

#crontab -e

## crontab日志切割与清理

00 00 * * * /data/scripts/cut_cron_log.sh >/dev/null 2>&1

## 运行状况检测标记

*/1 * * * * cd /usr/local; echo >/dev/null 2>&1

## crontab信息备份

30 08 * * * /data/scripts/backup_crontab.sh >/dev/null 2>&1

## crontab垃圾头信息清理

*/30 * * * * /data/scripts/clean_crontab_trash.sh >/dev/null 2>&1

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux使用crontab服务来管理计划任务。crontab服务每隔一分钟会读取一次/var/spool/cron、/etc/crontab和/etc/cron.d目录下的所有内容,这些文件中存储了用户和系统的计划任务。用户可以使用crontab命令来创建、编辑和删除计划任务。该命令允许用户按照特定的时间间隔和时间点来执行命令或脚本。例如,用户可以设置一个计划任务在每天的特定时间运行,或者每隔一段时间运行一次。通过使用crontab服务,用户可以方便地控制和管理计划任务的执行。如果crontab突然失效,可以尝试使用/etc/init.d/crond restart命令来解决问题,同时也可以通过查看日志文件/var/log/cron来检查是否有某个任务执行失败或报错的情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【Linux】 定时任务调度详解(crontab)](https://blog.csdn.net/weixin_65690979/article/details/126176083)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Linux命令·crontab](https://blog.csdn.net/m0_64560763/article/details/130048507)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值