Нет. Это не поможет вам исправить этот график упражнений. Также это не поможет вам спать вовремя, не глядя на свой телефон часами. Но вы, серверы, наверняка можете получить много вещей без необходимости вмешательства человека.
Крон
Планировщик задач, основанный на времени, созданный для UNIX-подобных систем с целью выполнения системных задач и технического обслуживания.
С развитием технологий он был признан полезным в других аспектах разработки программного обеспечения. Это привело к тому, что библиотеки и структуры были созданы для реализации Cron в различных средах, таких как разработка веб -приложений.
Давайте поговорим о Кроне как о абстрактной концепции.
1. Выражение крона
Чтобы периодически запустить что -то, вам нужен способ определить период. С точки зрения человека, мы бы сказали ежедневно, ежегодно, ежечасно, каждую пятницу, каждый 3 -й день и т. Д. И да, вы также можете сделать все это с помощью рабочих мест Cron. Давайте посмотрим на один загадочный пример
Полное выражение
0 0/50 13-14 ? JAN,MAR,JUL 2/3 2026/2
2026/2 | 13-14 | Ян, Мар, июль | 0/50 | 0 | 2/3 | ? |
каждые 2 года, начиная с 2026 года | каждый час между 13 вечера и 14 вечера | в январе, марте и июле | Каждые 50 минут начинаются с минуты: 00 | На секунду: 00 | Каждый 3 -й день недели, начиная с понедельника |
Полное описание
«В секунду: 00, каждые 50 минут, начиная с минуты: 00, каждый час с 13:00 до 14:00, каждый 3 -й день недели, начиная с понедельника, в январе, марте и июле, каждые 2 года, начиная с 2026 года»
Да, я немного сумасшедший, чтобы озадачить тебя этим, но легче забыть. Так что иди, разобралась. Для дальнейшего объяснения см. Википедия
Некоторые вещи, которые нужно помнить, делая выражения Cron:
- Последовательность — Секунды, минуты часы «дни месяца» месяца «дни недели» Год
- Диапазон обозначен «-«
- Начало/повторение написано как 5/10 — начинается с 5 и повторяется после каждых 10 единиц времени.
- Конкретные ценности — разделенные запятыми ценности, такие как «Ян, Мар, июль»
- Оставить что -нибудь пустое «?» — Работает только дни недели и дни месяца
- Повторите на каждую 1 единицу времени — используйте звездочку «*»
2. Вход Crontab
Файл Crontab — это файл, содержащий записи задания. Обычно вы не работаете с файлами Crontab напрямую, а не используете CLI или программы для этого.
Запись содержит приведенный ниже формат Команда выражения
Для, например,
1 0 * * * printf "" > /var/log/apache/error_log
Очищает журнал ошибок Apache через одну минуту после полуночи (00:01) каждый день
Вы можете использовать любую команду здесь, которую можно запустить на терминале. Для, например,
- Очистка неиспользуемых изображений Docker.
- Начать/остановить программы.
- Запрос API с curl.
3. Крон Демон
Если вы знакомы с концепцией демонов, это будет легко понять. Демон — это системная программа, которая когда -то начала работать на заднем плане до остановки. Его цель — предоставить платформу — набор общих сервисов — Для задач бежать на вершине.
Теперь, когда вы определили свое выражение и задачи, демон соединяет точки для вас.
В этом случае обязанности демона:
- Прочитайте список заданий Cron из источника (файл Crontab в Linux)
- Используйте выражения задания Cron для расчета временной метки, когда эти задачи будут выполняться дальше, и сохранить ее в памяти (называемый списком времени события)
- Пройти через задачи в мероприятии список
- Спи, пока не появится задача.
- Проснись и запустишь следующую задачу.
- После начала задачи вычислите следующую временную метку той же задачи и поместите ее в список событий.
- Повторите для следующей задачи.
Теперь, когда вы знаете, как работает Cron, давайте посмотрим на некоторые из его варианты использования :
- CI/CD — развертывание в фиксированное время.
- Кэш истекает/переплет-очистить или воссоздать кэш после интервала.
- Напоминания и информационные бюллетени — отправляйте электронные письма в определенный момент времени или через регулярные промежутки времени.
- Задачи SYSADMIN — ежедневные резервные копии, сканирование безопасности, серверы автоматического смены и т. Д.
Надеюсь, вы нашли это небольшое знакомство с Cron полезным, и это повышает ценность вашего повседневного решения.
Вот несколько полезных ресурсов, чтобы вывести вас на следующий уровень:
- Создать и проверять выражения Cron с FreeFormatter
- Учиться и экспериментировать с Cron на Linux
- Оформить Как использовать Узел-крон Запустить работу Cron с JavaScript.
Следите за обновлениями.
Вы можете связаться со мной на Твиттер
Оригинал: «https://dev.to/abh1navv/always-do-things-on-time-with-a-cron-job-16pf»