Как запустить задание cron с помощью команды sudo

Я не буду вдаваться в то, насколько это плохая идея; проще говоря, запуск sudoв crontab требуется, чтобы ваш пароль был сохранен где-то в виде открытого текста.

Это плохая идея.


Ниже приведен предпочтительный метод выполнения административных задач через cron. Поскольку вам на самом деле не нужно писать sudo в crontab, если вы изменяете crontab root.

Используйте crontab root

Выполните следующую команду:

sudo crontab -e

Это открывает rootэто кронтаб. sudo нет необходимости запускать вашу команду в этом контексте, так как она будет вызвана как root в любом случае.

Поэтому вы просто добавите следующее в crontab root.

@hourly rm somefile

Теперь, если вы абсолютно хотите быть небезопасным и рисковать своим паролем, выполните следующую команду из вашей собственной crontab и автоматически введите свой пароль по запросу sudo.

Снова, это не рекомендуется.


В вашей собственной crontab напишите свою команду следующим образом:

@hourly echo "password" | sudo -S rm somefile

Очевидным недостатком здесь является то, что, если кто-либо когда-либо получит доступ к вашей crontab, ваш пароль будет доступен для чтения в виде открытого текста.

Ты не должен этого делать.