首页 文章

从cronjob命令运行的bash脚本未找到

提问于
浏览
2

我的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 回答

  • 6

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

  • 0

    我'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将文件转换为正确的格式 .

相关问题