zoukankan      html  css  js  c++  java
  • linux 之crontab 定时执行失败原因总结

    今天写了一个nginx日志分割的简单脚本,发现手动执行脚本可以将日志成功分割,但是使用crontab定时任务就会执行失败。

    然后自己写了一个只有一句话的shell脚本,发现一样的问题,然后就开始根据问题找原因:

    1:是不是crontab的权限不对。然后使用了 ls /etc/init.d/crontab -lh 查看权限。发现用户组的对的,root组。

    2:网上说很大可能的原因是环境变量的问题,然后,自己输出了PATH的所有环境变量,然后加入到脚本开头第二行的位置,依然不行。

    3:查看crontab的执行状态。/etc/init.d/cron status 发现定时在执行。

    4:定时不使用脚本,直接在定时后面直接写命令。发现是可以执行的,这就有点怪了。

    手动执行脚本没问题,定时执行脚本有问题。定时执行脚本命令没问题。这是哪里出了问题呢?这说明脚本的白那些是没有问题的,问题处在了crontab定时上,然后加了环境变量的的文件绝对路径,抱着试一试的心态,结果真的成功了。具体操作如下:

    */1 * * * * /etc/profile /bin/sh path/test.sh

    /etc/profile是加的环境变量的文件。

    作者:first_semon
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如有问题,欢迎交流
  • 相关阅读:
    办公自动化15-一次性生成多层目录
    小技巧1-查看excel中工作表(sheet)的个数
    LaTex 公式编辑
    Cpp 学习网站
    函数的凹凸性
    二项分布
    函数间断点
    霍夫丁(Hoeffding)不等式
    数域
    马尔可夫(Markov)不等式
  • 原文地址:https://www.cnblogs.com/first-semon/p/12955376.html
Copyright © 2011-2022 走看看