crontab的日常

今天在排查监crontab任务未生效问题时总结收获如下

不同的账户有不同的crontab系统如果在编辑crontab的时候遇到以下报错

[operadmin@bd-opsbi01 ~]$ crontab -e
/bin/sh: /usr/bin/vi: Permission denied
crontab: "/usr/bin/vi" exited with status 126

那么你可以通过root用户到/var/spool/cron/目录下

[root@bd-opsbi01 cron]# ll
total 16
-rw------- 1 admin grpcaocao 196 2019-07-30 16:53:21 admin
-rw------- 1 log grpcaocao 72 2018-11-21 14:33:12 log
-rw------- 1 operadmin operadmin 535 2020-05-08 10:54:11 operadmin
-rw------- 1 root root 293 2020-05-08 10:14:54 root

这个目录下的不同用户名字对应着不同的crontab任务,要修改可以在这里边修改

这个目录/var/log/下可以找到cron的日志

排查crob任务未运行的原因步骤总结

sudo service crond status ##查看cron的运行状态(我今天就是这个问题)

 如果是failed的状态的话,启动一下

sudo service crond start

 如果是running的状态的话 ,那就重新加载一下文件

service crond reload

如果还是不运行,那应该就是自己的脚本的问题

首先要看自己的脚本路径是否是全路径(这个是必须的),其次是命令路径是否补全(如果不补全,可以source ~/.bash_profile;如下截图)

最后自己的脚本都检查完了没有问题了,那么最后一招,万能大法重启cron吧

service crond restart

如果这里没有你需要的,可以看一下这篇博客

https://www.cnblogs.com/kenshinobiy/p/7685229.html

原文地址:https://www.cnblogs.com/xuziyu/p/12850098.html