Запись скрипта 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

Он не запускается.

Что я делаю не так? Я видел симметричные билеты на эту тему здесь, но не видел четкого ответа. Спасибо за помощь.

0
задан 10 January 2014 в 22:20

2 ответа

Команды, выполняемые cron, не имеют терминального соединения, поэтому они не могут интерактивно запрашивать ответы пользователя. Если требуемый удаленный сервер запрашивает пароль для анонимного входа, вам придется использовать другой механизм аутентификации программы steamcmd.sh, например, настроить его для использования некоторого Steam AppID, как показано в Как установить и использовать SteamCMD .

0
ответ дан 10 January 2014 в 22:20

Это очень распространенная ошибка. Вам нужно использовать полный путь в скриптах (а не относительный путь).

chron работает с sh, используя минимальные переменные среды.

0
ответ дан 10 January 2014 в 22:20

Другие вопросы по тегам:

Похожие вопросы: