Crontab 脚本条目不起作用

Crontab 脚本条目不起作用

我是初学者。我有一个名为的脚本

updateTf2.sh 

它的内容

#!/bin/bash
/etc/init.d/srcds stop
./steamcmd/sh +login anonymous +force_install_dir ./tf2 +app_update 232250 +quit
/etc/init.d/srcds start

位于此处

~/home/user/updateTf2.sh

如果我从终端运行./updateTf2.sh,它会要求输入密码,我输入密码,然后脚本就会成功运行。

当我将它放入 sudo crontab -e 中时,如下所示

10 9 * * * /home/user/updateTf2.sh

它不运行。

我做错了什么?我在这里看到过关于这个主题的类似问题,但没有看到明确的答案。谢谢你的帮助。

答案1

cron 执行的命令没有终端连接,因此它们无法以交互方式要求用户响应。如果所需的远程服务器要求输入匿名登录密码,则必须使用另一种机制来验证程序steamcmd.sh,例如将其配置为使用某些 Steam AppID,如中所示如何安装和使用 SteamCMD

答案2

这是一个非常常见的错误。您需要在脚本中使用完整路径(而不是相对路径)。

chron 使用最少的环境变量与 sh 一起运行。

相关内容