Bash 脚本无法在 Cron 中运行

Bash 脚本无法在 Cron 中运行

以下是我的 crontab 中的内容:

*  *  *  *  * /bin/bash /home/user_name/script.sh

文件内容如下:

#!/bin/bash

cd /var/www/sites/site1
sudo svn update *

cd /var/www/sites/site2
sudo svn update *

脚本设置为+x。

关于为什么它不能在 cron 中运行,您有什么想法吗?当我手动运行它时,它运行良好。

答案1

您在 cron 调用中使用 /bin/bash 有什么原因吗?脚本本身中的 #!/bin/bash 应该做同样的事情。还要确保脚本配置为可执行 (chmod +x/chmod 755)。验证您是否想在您的帐户下运行该程序,否则使用命令指定用户sudo -u "USERNAME"。还要检查并确保您的帐户(或您希望它在其下运行的帐户)在 /etc/sudoers 中添加了 NOPASSWD 选项(更多信息请见:http://www.gratisoft.us/sudo/sudoers.man.html)。

答案2

如果您的发行版默认有“requiretty”选项,您可能还需要从 /etc/sudoers 文件中删除该选项。

相关内容