Вообще рассказ будет о том, как автоматически продлять Lets Encrypt, но рассказ все-таки про планировщик Cron с примерами.
Управление простое, но не интуитивное.
#листинг задач
crontab -l
#редактировать задач
crontab -e
Вот что можно, но не всем нужно, добавить в файл.
#интерпретатор (можно переписать с bash на php)
SHELL=/bin/bash
#пути до директорий с исполняемыми файлами
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#точка откуда будут начинаться пути (предпочитаю в скрипте писать абсолютные пути)
HOME=/
#куда отправить письмо с отчетом (письма от сервера могут попадать в спам)
MAILTO=example@example.ru
Синтаксис таблиц Cron такой:
минуты часы дниМесяца месяцы дниНедели /путь_к_исполняемому_файлу
минуты (0-59)
часы (0-23)
дни месяца (1-31)
месяцы (1-12) можно задать тремя буквами (jan-dec)
дни недели (0-6) нулевой день это воскресенье, можно задать тремя буквами (sun-sat)
⚠︎ первый день недели - воскресенье ⚠︎
Вот шпаргалка по английским дням недели (от воскресенья до субботы).
cron как пользоваться - дни недели.jpeg ( 24,49 килобайт )
Кол-во скачиваний: 768Как продлять Lets Encrypt автоматически по крону
#создаем файл
touch /root/renewer.sh
#делаем файл исполняемым
chmod 700 /root/renewer.sh
#открываем для редактирования
nano /root/renewer.sh
Продлялка до безумия простая
#!/bin/bash
/usr/sbin/nginx -s stop
/root/letsencrypt/certbot-auto renew --force-renewal
/usr/sbin/nginx
Посмотреть расположения поможет
whereis, например команда
whereis nginx
Покажет пути до бинарника и до конфигов.
Теперь открываем на редактирование инструкцию крона.
crontab -e
И добавляем обновлялку
#продление сертификатов - каждую пятницу 3 часа 0 минут
0 3 * * 5 /root/renewer.sh
После сохранения видим
crontab: installing new crontab (крон подхватил новую задачу).
Чтобы убедиться что оно работает, подгоните время под себя (ну не ждать же неделю).
И не забывайте, что время на сервере может отличаться от времени у вас дома.
Серверное время можно посмотреть командой
dateУ меня все работает. :D
#бэкапы - каждый день 4 утра 0 минут
0 4 * * * /root/backuper.sh
Чтоб убедиться в работоспособности - я делал бэкапы каждый час, на почту приходили письма от крона (правда попадали в спам), теперь на яндекс-диске появляются ежедневные бэкапы (копироваться каждый час это уж слишком часто).
cron как пользоваться - письма с отчетами.png ( 84,71 килобайт )
Кол-во скачиваний: 768Вот собственно копии, сидят на облаке и (если что) помогут откатить мое безобразие.
cron как пользоваться - файлы бэкапов.png ( 4,03 килобайт )
Кол-во скачиваний: 768P.S: а вообще, cron это не нужно, приходит пора для systemd.
Cron или systemd.timer 4.png ( 7,55 килобайт )
Кол-во скачиваний: 768
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|