2012-11-07 163 views
0

在哪里检查cron作业的日志? 我做了pgrep cron,它给了2358 这是什么意思?为什么我的crontab没有执行我的shell脚本?

0 02 * * * /feedbatch/application/scripts/baselineUpdate.sh 
    0 13 * * * /feedbatch/application/scripts/baselineUpdate.sh 
    #0,10,20,30,40,50 * * * * /feedbatch/application/scripts/partialUpdate.sh 
    */2 * * * * /feedbatch/application/scripts/partialUpdate.sh 
    15 0 * * * /usr/sbin/logrotate -s $HOME/logrotate.status -f $HOME/endeca-logrotate.conf 
    16 0 * * * /usr/sbin/logrotate -s $HOME/outputrotate.status -f $HOME/endeca-outputrotate.conf 
+0

你见过http://unix.stackexchange.com – jsj

回答

1

你的脚本是在这个位置 -/feedbatch/ 请检查一个名为feedbatch的目录是否存在于/。以及如果目录存在,普通用户是否有权运行其中的脚本。尝试把所有的脚本放在一个新的bin文件夹..多数民众赞成在一个良好的做法..

其他脚本在/ usr/sbin/.... 这里也许可可能是一个问题。 尝试把所有这些放在root crontab中。所以这不会是任何权限问题。 另请检查您的用户名是否存在于/etc/cron.allow和/etc/cron.deny.Dont中如果这两个文件不存在。但是,如果这些文件存在,请确保你的名字是那里的cron.allow和cron.deny中

不是有

访问根crontab做以下

su - root 
crontab -e 
1

cron守护程序将记录默认的系统记录器。所以它会被记录到消息或系统日志中。 您可以配置rsyslog以记录所有的cron日志输出单独文件。这有点取决于你的Linux发行版。作为一个榜样来写的cron日志单独的文件Ubuntu12.04:(uncommand cron的*线)
编辑/etc/rsyslog.d/50-default.conf

... 
auth,authpriv.*   /var/log/auth.log 
*.*;auth,authpriv.none  -/var/log/syslog 
#cron.*    /var/log/cron.log 
#daemon.*   -/var/log/daemon.log 
... 

重启cron守护程序。
您的cron输出应立即记录到/var/log/cron.log。
这应该让你更好地了解“cron正在做”。