Last active
August 14, 2024 13:22
-
-
Save yaleksandr89/a3386f4587e7c0447e828aa99f8ee903 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew` | |
## Cron задание | |
Это задание выполняется каждые 12 часов. | |
* `0 */12 * * *`` - указывает на выполнение задания каждые 12 часов. | |
* `root` - пользователь, от имени которого выполняется задание. | |
* `test -x /usr/bin/certbot -a \! -d /run/systemd/system` - проверяет, что certbot существует и что система не использует systemd для запуска cron задач. | |
* `perl -e 'sleep int(rand(43200))'` - команда perl заставляет задание спать на случайное время до 12 часов (43200 секунд) для предотвращения одновременного выполнения обновления на нескольких серверах. | |
* `certbot -q renew` - команда для обновления сертификатов без вывода лишней информации. | |
## Итог | |
Эта команда уже настроена на автоматическое продление сертификата каждые 12 часов с использованием случайной задержки. Следовательно, нет необходимости добавлять дополнительное задание в crontab, если эта команда уже присутствует и работает. Она выполняет ту же функцию, что и команда для обновления сертификата каждую полночь, но с дополнительной проверкой и случайной задержкой для уменьшения нагрузки на серверы Let's Encrypt. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment