Я использую LetsEncrypt на своем сервере для обновления сертификатов HTTPS. Если я вручную зарегистрируюсь на своем сервере и выполняю
$ sudo /opt/certbot-auto renew --nginx --quiet --no-self-upgrade
, тогда мои сертификаты обновляются, и все отлично.
Я хотел сделать этот запуск как ежедневный cronjob, поэтому я сделал :
$ sudo crontab -e
и добавил строки:
# try to renew "at 00:00 on Every Day of the Week"
0 0 * * 1-7 /opt/certbot-auto renew --nginx --quiet --no-self-upgrade >> /var/log/le-renew.log
... howver, это не работает. Я проверил содержимое le-renew.log и нашел следующее, многократно повторяемое:
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/<domain>/fullchain.pem (failure)
/etc/letsencrypt/live/<domain>-0001/fullchain.pem (failure)
/etc/letsencrypt/live/www.<domain>/fullchain.pem (failure)
All renewal attempts failed. The following certs could not be renewed:
/etc/letsencrypt/live/<domain>/fullchain.pem (failure)
/etc/letsencrypt/live/<domain>-0001/fullchain.pem (failure)
/etc/letsencrypt/live/www.<domain>/fullchain.pem (failure)
Мне кажется, это указывает на то, что задание cron не работает как sudo Если я не добавляю sudo при ручном вызове команды (первый блок кода в этом сообщении), то обновление не выполняется.
Я делаю что-то неправильно здесь? Как я могу застраховать выполнение задания cron с правами root? Любые советы о том, как я могу отладить эту проблему? Как я уже сказал, команда выполняется так, как ожидалось, когда я вручную подключаю SSH и вызываю ее с помощью sudo, но она не работает правильно, когда добавляется как ежедневная cronjob.
У меня была проблема с RKHunter на моем сервере. Войдите в систему как SU, а затем сделайте Crontab -e, вы все же можете указать на папку пользователей, но она будет работать с привилегиями там.
У меня была проблема с RKHunter на моем сервере. Войдите в систему как SU, а затем сделайте Crontab -e, вы все же можете указать на папку пользователей, но она будет работать с привилегиями там.