Выполнить команду sudo в cronjob (vestacp/ubuntu)

Выполнить команду sudo в cronjob (vestacp/ubuntu)

Можно ли добавить команду cron, например "sudo systemctl restart exim4"? Обычно в списке cronjob есть путь к исполняемому файлу, но похоже, что vestacp имеет список других команд, которые не включены, например "systemctl {action} {service}". Нужно ли мне создать какой-то файл с выполнением упомянутой команды? Потому что я считаю, что cronjob с командой "sudo systemctl restart exim4" не будет работать.

Убунту 18.04

решение1

Хорошо,sudoможет потребоваться телетайп, я думаю, что он не получит tty от cron. Но если вы можете, sudoто, вероятно, вы можете отредактировать системный crontab ( /etc/crontab; или поместить файл в /etc/cron.d). Это способ заставить cron перезапустить системную службу,нетиз sudocrontab пользователя.

Например, /etc/crontabв моем Debian я вставил:

47 2    * * 2,6 root    systemctl restart transmission-daemon.service

перезапускаться transmissionдважды в неделю (у меня есть на это свои причины), и я знаю, что это работает.

Обратите внимание, что для общесистемного crontab требуется дополнительное поле ( rootв примере выше) ион отличается от crontab root.

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