Crontab: запуск одной команды

Я хочу запустить одну команду из crontab. Вместо того, чтобы создавать bash-файл для одной команды, можно ли запустить crontab следующим образом:

# Everyday at 3 am, restart the server.
0 3 * * * 'sudo shutdown -r now'

Вместо:

0 3 * * * /usr/local/bin/restart.bash

Можно ли что-то подобное сделать?

1 ответ

Да, вы можете ввести команду в строке, но она должна быть напечатана так же, как если бы вы были в командной строке. Вы не вводите одинарные кавычки ' в командной строке, поэтому вы не должны вводить их также в crontab.

Наконец, команда, для которой требуется доступ с правами root, должна быть запущена в корневом каталоге. (т.е. редактировать используя sudo crontab -e вместо простого crontab -eили войдите как root используя su - перед вводом crontab -e)

Итак, в вашем примере вы должны ввести это в crontab:

# Everyday at 3 am, restart the server.
0 3 * * * shutdown -r now

(sudo не действует, удалены одинарные кавычки)

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