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

找不到从cronjob命令运行的bash脚本,cron,shell,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 indexer --rotate xxx SHELL=/bin/bash 路径=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 家=/ 01 04***根目录/home/s

我的crontab如下所示:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 01 04 * * * root /home/sphinx_scripts/daily_update_index.sh indexer --rotate xxx SHELL=/bin/bash 路径=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root 家=/ 01 04***根目录/home/sphinx_脚本/daily_update_index.sh 每日更新索引如下:

SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ 01 04 * * * root /home/sphinx_scripts/daily_update_index.sh indexer --rotate xxx 索引器--旋转xxx
现在,如果我在任何地方(以root用户身份)运行/home/sphinx_scripts/daily_update_index.sh,它都可以正常工作。但我每天都收到来自cronjob的电子邮件,说“找不到命令索引器”。索引器的完整路径是/usr/loca/bin/indexer。为什么会出现这样的错误?

问题是索引器不在路径上。你说它是/usr/loca/bin/indexer amd
PATH=/sbin:/bin:/usr/sbin:/usr/bin


为了解决这个问题,我将把indexer的整个路径放在daily_update_index.sh中,或者将/usr/local/bin添加到daily_update_index.sh中的路径中,我正在处理一个AWS EC2实例,对我来说,问题是我使用pscp从我的Windows 10计算机传输我的.sh文件,并且文件的行尾不兼容。因此,我使用
sudo apt get install dos2unix
,然后使用dos2unix将文件转换为正确的格式