Задать вопрос
SimBioT19
@SimBioT19
{{ user.about }}

Выполнить команду с помощью cron?

Привет!
Вопрос простой, но всё равно прошу помощи.

Установил сертификат letsencrypt и нужно добавить в cron его обновление.

Вручную команда для renewal такая:
sudo /var/www/ssl/letsencrypt/letsencrypt-auto certonly --renew-by-default 
--webroot -w /var/www/ssl -d example.com && sudo service nginx reload

Как её же прописать в задачи cron?

Пока что делаю такую фигню:

0 */12 * * * root /var/www/ssl/letsencrypt/letsencrypt-auto certonly 
--renew-by-default --webroot -w /var/www/ssl -d example.com && service nginx reload


Получаю ошибку bin/bash: root: command not found

Как сделать правильно, чтобы cron выполнил команду?
  • Вопрос задан
  • 2745 просмотров
Подписаться 2 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 5
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
В какой именно кронтаб файл вы ее прописываете?

В пользовательском crontab файле (который crontab -e), нет столбца для указания имени пользователя, это только для /etc/cron* файлов.
Ответ написан
@Fixid Куратор тега Linux
0 */12 * * * sudo -u root /var/www/...
Ответ написан
qork
@qork
{ background: #F00B42 }
rexido
@rexido
Очень плохой человек )
А не проще все это в скрипт добавить ?
#!/bin/bash
/var/www/ssl/letsencrypt/letsencrypt-auto certonly --renew-by-default --webroot -w /var/www/ssl -d example.com &

 service nginx reload

0 */12 * * * /path/to/script.sh
Ответ написан
Комментировать
Frankenstine
@Frankenstine
Сисадмин
Ох уж эти велосипедостроители :)
https://habrahabr.ru/post/304174/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы