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 не действует, удалены одинарные кавычки)