Добавить cronjob с помощью скрипта bash - Нет crontab для root

Добавить cronjob с помощью скрипта bash - Нет crontab для root

У меня есть скрипт развертывания, и в нем я пытаюсь добавить задание cron. Это код, который я использую, который я нашел на stackoverflow. Я использую Debian 8.

# ADD CRON
crontab -l > mycron
echo "10 * * * * cd /var/www/test/ && ./test" >> mycron
crontab mycron
rm mycron

При выполнении этих команд я получаю ответ:no crontab for root

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

решение1

Похоже, что (а) файл crontab пользователя root изначально пуст и (б) опция -eустановлена ​​в оболочке.

Если файл crontab пользователя пуст, то crontab -lпроисходит выход со статусом 1.

Если оболочка запущена с -eопцией, то она немедленно завершит работу в случае возникновения ошибки (определяется как выход с ненулевым статусом).

Найдите errexitв выводе , echo $SHELLOPTSчтобы проверить этот параметр. Отключите его в текущей оболочке с помощью set +e.

Связанный контент