解决cron不能启动脚本的问题
一、背景
在开发过程中总是会需要系统cron服务启动我们自定义的服务。我们手动运行脚本,脚本中定义的服务就能运行。如果我们让cron服务来管理我们的脚本,有可能cron服务不能定时启动我们的脚本。
二、解决方法
在我们的脚本中加入我们服务需要的环境变量。
1)方法1:
我们需要把环境变量配置在/etc/profile 中。在centos环境中我们可以在我们的脚本中第二行加上
source /etc/profile 这条语句。
2)方法2:
如果系统不支持第一种方法,我们可以用这种方法。
我们可以在我们的脚本中添加环境变量,这样我们脚本定义的服务运行时就能找到运行时依赖的库。
如果你运行的bin路径为/usr/local/test/bin ,lib路径为/usr/local/test/lib。我们可以在脚本的第二行加上
export PATH=$PATH:/usr/local/test/bin
第三行加上
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/test/lib。
三
重启cron 服务
service crond restart
四 可以查看cron日志
tail -f /var/log/cron