Задать вопрос
@Bega

Как запустить bash скрипт в crontab?

Добрый день, подскажите пожалуйста как указать оболочку /bin/bash только для одного скрипта в crontab -e?
Запуск в виде * * * * * /bin/bash /root/script.sh -- результата не дает (в самом скрипте шебанг #!/bin/bash указан)

Пробовал создать файл в /etc/cron.d/ с содержим
SHELL=/bin/bash
* * * * * root  /root/script.sh

В логах видно что крон его запускает, но ничего при этом не происходит и лог тоже пустой
spoiler
Mar 22 11:24:01 /root/script.sh >> /root/script.log 2>&1^M)
Mar 22 11:24:01 ubuntu CRON[3505021]: (CRON) info (No MTA installed, discarding output)
  • Вопрос задан
  • 624 просмотра
Подписаться 1 Средний 14 комментариев
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
1. Пропиши в скрипте полный путь к tmux. И вообще первым делом в скриптах для крона проверяй пути. Проще везде прописать полные, или разбираться с PATH
2. Для отладки, проще внутри самого скрипта сделать какой-то
echo "script started" >> /root/script.log
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Согласно приведённой команде /root/script.sh >>/root/script.log 2>&1 STDOUT пишется в лог в режиме добавления к существующему, а STDERR - в режиме перезаписи со стиранием существующего. Вам точно надо именно так?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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