Я использую 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
и что он содержит только одно определение задания.
Была такая же проблема. Вот что я сделал для устранения неполадок.
Посмотрите, где это не удается, запустив (изменить (скрыть) на ваш пункт назначения)
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 из пакета, я подозреваю, что это ваш виноват.