我的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 回答
问题是索引器不在路径上 . 你说它是/ usr / loca / bin / indexer amd
PATH=/sbin:/bin:/usr/sbin:/usr/bin
要解决这个问题,我会将整个路径放在daily_update_index.sh中的索引器中,或者将/ usr / local / bin添加到daily_update_index.sh中的路径中
我'm working on an AWS EC2 instance and for me the issue was that I used pscp to transfer my .sh file from my Windows 10 machine, and the file'的行结尾是不相容的 . 所以我使用
sudo apt-get install dos2unix
然后使用dos2unix将文件转换为正确的格式 .