以下是我的 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 文件中删除该选项。