crontab 表达式定时不执行问题处理(已亲测)

crontab 表达式 科普小知识:

cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。

crontab表达式说明:
*    *    *    *    *    [user]   [command]
-    -    -    -    - 
|    |    |    |    |
|    |    |    |    |
|    |    |    |    +----- 星期 (0 - 7) (Sunday=0 or 7)
|    |    |    +---------- 月 (1 - 12)
|    |    +--------------- 日 (1 - 3

crontab命令实例

0 0 L * *        #每月的最后1天执行
* * * * *        #每1分钟执行一次
*/10 * * * *     #每隔10分钟执行一次
0 */1 * * *      #每隔1小时执行一次
30 21 * * *      #每晚的21:30执行
3,15 * * * *     #每小时的第3和第15分钟执行
3,15 8-11 * * *  #在上午8点到11点的第3和第15分钟执行
cron服务操作命令
service crond start    #启动服务
service crond stop     #关闭服务
service crond restart  #重启服务
service crond reload   #重新载入配置
service crond status   #查看服务状态

crontab -l   #查看crontab
crontab -e   #编辑crontab
crontab -r   #删除crontab

问题解决:

问题描述:
  在linux服务器指定目录下,创建一个可执行shell脚本,配置好crontab表达式,每天早上8点半执行,并没有定时执行

问题排查:

   1、手动执行,验证是否shell脚本是否有问题

                 使用命令 /bin/bash  /opt/check.sh 手动执行,可以运行脚本。排除脚本问题

           2、查看cron定时任务日志,看是否触发

                 一般定时任务日志路径在 /var/log/cron,使用高权限用户查看启动日志。一般会显示 primetonkf CROND[29191]: (root) CMD (/bin/bash /opt/test001.sh)

           3、编写测试脚本,脚本中执行输出日志到指定文件

                #!/bin/bash
                echo "Script started at: $(date)" >> /opt/post/test0603/cron.log  

               cron.log是当前用户文件夹路径,一般是/home/

            4、将脚本的输出和错误重定向到文件的方式来捕获可能的错误信息,修改 crontab

                */3 * * * * /bin/bash /opt/test001.sh >> /opt/cron.log 2>&1

经过以上4步,可以排查处理。为什么crontab配置后不执行。最好在shell脚本中,输出路径为绝对路径,不使用相对路径

                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值