【问题标题】:bash script running from cronjob command not found找不到从 cronjob 命令运行的 bash 脚本
【发布时间】:2012-04-12 08:40:55
【问题描述】:

我的crontab如下:

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

daily_update_index.sh 如下:

索引器--旋转 xxx

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

【问题讨论】:

    标签: cron shell


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我正在使用 AWS EC2 实例,对我来说,问题是我使用 pscp 从我的 Windows 10 机器传输我的 .sh 文件,并且文件的行结尾不兼容。于是我用sudo apt-get install dos2unix,然后用dos2unix把文件转换成正确的格式。

      【讨论】:

        猜你喜欢
        • 2016-09-27
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 2017-08-10
        • 2021-11-17
        • 2015-01-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多