crontab无法运行三解

我们经常可以发现某个shell程序手动运行的是完全正常的,但是放到crontab中却没有定时运行。这个时候我们可以查看下/var/log/cron这个日志文件看看你的应用程序是否被准时调用了。
如果在日志文件中我们没有发现这个应用程序执行的相关日志,那估计你是在crontab中把shell程序路径给写错了。这个时候你就得检查一下路径问题了。
还有一种情况是发现日志当中也有执行的信息,但是我们找不到运行之后的结果。这个时候我一般碰到的就是环境变量的问题。
解决环境变量问题首先可以输入export看下自己的环境变量,如果这里没有,那可以在shell程序头部增加

source /etc/profile

,这样就可以导入完整的系统环境变量。这个是我以前的办法。
最近由于涉及到得shell程序比较多,这些shell本来是在crontab中能够正常执行的,但是在系统重装后这些程序却都不执行了。而系统的环境变量是相同的,这让我想到了是不是crontab自己有一个环境变量。
搜索了一遍果然发现crontab自己的环境变量设置。

vim /etc/crontab

文件中我们就可以看到PATH的设置,这个就是crontab自己的环境变量了。汗死啊!

关于 Timo
XNIX SA & MYSQL DBA

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: