Что запускает «обновление certbot»?

Я использую Let's Encrypt для защиты установки Apache на Ubuntu. Недавно я настроил сценарий перехвата развертывания для запуска при обновлении, который я m, передавая certbot refresh в задании cron с помощью параметра - deploy-hook .

При первом обновлении с момента его настройки я заметил, что скрипт перехвата развертывания не бежал. Покопавшись в журналах, я обнаружил, что вызов certbot refresh , который фактически выполнил обновление, не был вызван с аргументом - deploy-hook .

Я также вижу, что certbot Renew вызывается три раза в день, в то время как мое задание cron настроено на запуск только один раз в день. Один из этих трех вызовов выполняется точно в то время, которое указано в задании cron, и предоставляется аргумент - deploy-hook . Два других времени - около 00:30 и около 12:45, но точное время меняется на несколько минут изо дня в день. Аргумент - deploy-hook не предоставляется для этих других вызовов.

Итак: что, черт возьми, работает certbot Renew , кроме моего задания cron? Я проверил, что только root имеет crontab и что он содержит только одно определение задания.

2
задан 11 December 2017 в 21:13
1 ответ

Была такая же проблема. Вот что я сделал для устранения неполадок.

Посмотрите, где это не удается, запустив (изменить (скрыть) на ваш пункт назначения)

exim -bt example@domain.com

Проверьте, правильно ли решаются ваши хосты, выполнив эти команды на терминале.

# the following should show the short 'hostname'
hostname

# following should show the full domain name (without www or subdomains)
hostname --fqdn

# following should show the external IP (not 127.0.0.1)
hostname -i

Если все в порядке хорошо, и если блок все еще не маршрутизируется, заставьте конфигурацию exim маршрутизировать его. Так что отредактируйте файл /etc/exim/exim4.conf.template и найдите блок в .ifdef DCconfig_internet . Добавьте это как первое правило. (Измените example.com на свой домен)

my_domain_routing:
  debug_print = "R: dnslookup for $local_part@$domain"
  driver = dnslookup
  domains = example.com
  transport = remote_smtp
  # ignore private rfc1918 and APIPA addresses
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.0.0/16 :\
                        172.16.0.0/12 : 10.0.0.0/8 : 169.254.0.0/16 :\
                        255.255.255.255
  no_more

Запустите тест маршрутизации еще раз, чтобы проверить, проходит ли он сейчас.

Примечание о файле exim4.conf.template . Это может быть восстановлено, если вы снова запустите утилиту конфигурации. Чтобы избежать этого, продублируйте это изменение также в папке /etc/exim/conf.d/routing/ .

Ссылка: Немаршрутизируемый адрес SMTP Понимание файлов конфигурации exim В дополнение к пользовательским crontabs есть также системный файл crontab, каталог cron.d и каталоги cron.hourly, cron.daily и cron.weekly. Вероятно, они виноваты, если вы установили программное обеспечение из пакета.

В частности, когда я смотрю на пакет certbot debian, я вижу файл /etc/cron.d/certbot. Если вы установили certbot из пакета, я подозреваю, что это ваш виноват.

6
ответ дан 3 December 2019 в 09:15

Теги

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