从找不到crontab命令运行的bash脚本

时间:2012-03-28 17:41:58

标签: cron shell

我的crontab如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
01 04 * * * root /home/sphinx_scripts/daily_update_index.sh

daily_update_index.sh如下:

indexer  --rotate xxx

现在,如果我从任何地方(以root身份)运行/home/sphinx_scripts/daily_update_index.sh,它都可以正常工作。但我每天都会收到来自cron job的电子邮件,说“找不到命令索引器”。索引器的完整路径是/ usr / loca / bin / indexer。为什么我会收到这样的错误?

2 个答案:

答案 0 :(得分:6)

问题在于索引器不在路径上。你说它是/ usr / loca / bin / indexer amd PATH=/sbin:/bin:/usr/sbin:/usr/bin
要解决这个问题,我会将整个路径放在daily_update_index.sh中的索引器中,或者将/ usr / local / bin添加到daily_update_index.sh中的路径

答案 1 :(得分:0)

我正在使用AWS EC2实例,对我来说,问题是我使用pscp从Windows 10计算机上传输了.sh文件,并且文件的行尾不兼容。因此,我使用了sudo apt-get install dos2unix,然后使用了dos2unix将文件转换为正确的格式。