Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在crontab下安装的脚本未运行_Linux_Shell_Unix_Cron_Crontab - Fatal编程技术网

Linux 在crontab下安装的脚本未运行

Linux 在crontab下安装的脚本未运行,linux,shell,unix,cron,crontab,Linux,Shell,Unix,Cron,Crontab,我一直在编写内务管理脚本,现在我需要将内务管理脚本作为一个cronjob安装到登台和生产环境中。我可以在舞台上毫无问题地完成它,它给了我预期的输出。当我在生产环境中运行它时,同一个脚本不会变成cronjob。下面是我安装的cronjob #OTB housekeeper scripts * * * * * /product/susara/tools/housekeeper.sh -t OTB > /tmp/susara.out 2>&1 这就是我所做的,以找出为什么它不工作

我一直在编写内务管理脚本,现在我需要将内务管理脚本作为一个cronjob安装到登台和生产环境中。我可以在舞台上毫无问题地完成它,它给了我预期的输出。当我在生产环境中运行它时,同一个脚本不会变成cronjob。下面是我安装的cronjob

#OTB housekeeper scripts
* * * * * /product/susara/tools/housekeeper.sh -t OTB > /tmp/susara.out 2>&1
这就是我所做的,以找出为什么它不工作的生产

  • 检查cronjob守护进程是否正在运行。 当我检查它时,得到了以下输出,这表示cronjob deamon正在运行
  • ps ax | grep cron

    输出

     4120 ?        Ss     0:06 crond
    13640 pts/6    S+     0:00 grep cron
    
  • 检查cron作业日志
  • 这些日志位于/log/var中 有名为cron.1 cron.2等的日志文件

    这些日志的内容对我解决问题没有任何帮助。我很难理解它说什么

    May 16 08:01:01 pr2vmx08 crond[17471]: (root) CMD (run-parts /etc/cron.hourly)
    May 16 08:08:22 pr2vmx08 crontab[17180]: (user1) REPLACE (user1)
    May 16 08:08:22 pr2vmx08 crontab[17180]: (user1) END EDIT (user1)
    May 16 08:09:01 pr2vmx08 crond[4162]: (user1) RELOAD (cron/user1)
    May 16 08:10:01 pr2vmx08 crond[17762]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    May 16 08:20:01 pr2vmx08 crond[18229]: (root) CMD (/usr/lib64/sa/sa1 1 1)
    
    这两个步骤并没有帮助我解决这个问题。在这方面有经验的人能告诉我这里出了什么问题吗


    提前感谢您的帮助

    有些事情我要先检查一下:

  • 文件/tmp/susara.out的内容是什么?这个文件正在写吗?使用命令

    尾部-f/tmp/susara.out

    查看写入此文件的内容

  • 在生产机器下检查脚本/product/susara/tools/houseeper.sh的权限;使用命令

    ls-al/product/susara/tools/HOUSECHEADER.sh

  • 这个脚本应该每分钟都在运行吗

  • 检查文件/var/log/messages上可能出现的错误消息


  • 关于

    cron日志指示日期、机器名、进程和括号之间的某些内核“pid”,然后在括号之间指示用户,在“CMD”之后在括号之间指示命令行

    如果你grep你的脚本名,你应该看到一些行,如果它每分钟都在执行,这是应该的,因为所有的星号参数。但“正确”的日志文件可能是syslog(.*),但可能不是,因为这个文件显然已经在记录cron


    此外,我认为如果此脚本包含对标准PATH环境变量中不包含的命令或其他脚本的调用,则它可能无法正常工作。这发生在我的“用户”crontab上,我在crontab中添加了正确的路径行,它开始工作。我的印象是,我必须用这个特殊的更改重新启动cron,这与正常调度行中的简单更改不同。

    在这里进行一些搜索,这样,这个问题就会经常出现。。。请记住,通过cron运行脚本时的环境与您自己运行脚本时的环境完全不同。。。