Каталог статей
Вы не понимаете, что лучше использовать для настройки запланированных задач в вашей системе Linux : «cron» или «crond»?
Действительно, многие задаются вопросом: «В чем разница между ними?» Хотя внешне они похожи на близнецов, при ближайшем рассмотрении между ними обнаруживаются тонкие, но важные различия.
Эта статья познакомит вас с их уникальными особенностями и принципами работы.
Что такое хрон?
Начнём с cron , название которого вам, вероятно, знакомо.
cron на самом деле представляет собой целый набор Система планирования задач по расписанию, имя которого происходит от греческого корня «chronos», что означает время.
Система cron — это генератор запланированных задач для систем Linux, используемый для автоматического выполнения указанных задач в определенное время.
Например, вы можете запланировать выполнение сценариев резервного копирования каждое раннее утро, проверять состояние системы каждый час и т. д.

функциональность ядра cron
Основная функция cron — автоматизация управления и выполнения системных задач, которые часто называют « запланированными задачами ».
Система cron считывает файлы crontab (таблицы cron), содержащие расписания задач и списки команд. Cron автоматически выполняет эти задачи в запланированное время в соответствии с настройками, указанными в файле crontab.
Короче говоря, cron — это «планировщик» запланированных задач , отвечающий за установление расписания для всех задач.
Используйте команду crontab
В системах Linux система cron состоит из crontab команда для управления. проходить crontab Командами вы можете добавлять, редактировать и удалять запланированные задачи.
使用 crontab -e Команда для входа в режим редактирования, вы можете добавить задачи, которые хотите выполнить, в таблицу cron, формат следующий:
* * * * * /path/to/command
Каждый символ «*» представляет собой отдельную единицу времени, например минуты, часы, дни, месяцы и недели. С помощью этих конфигураций времени вы можете контролировать время выполнения задач.
Что такое кронд?
Разобравшись с концепцией cron, давайте рассмотрим crond . Это «незаметный герой» системы cron.
crond — это демон системы cron . Это программа, которая постоянно работает в фоновом режиме и отвечает за мониторинг системного времени и выполнение задач, заданных системой cron.
обязанности Кронда
Процесс crond автоматически запускается при запуске системы и всегда работает в фоновом режиме. Его единственная задача — выполнить задачи в файле crontab в указанное время.
Короче говоря, crond — это «исполнитель» системы cron.
Без процесса crond система cron потеряет возможность выполнять запланированные задачи.
В системах Linux вы можете использовать следующую команду, чтобы проверить, запущен ли процесс crond:
ps -ef | grep crond
Если процесс crond не запущен, все запланированные задачи не будут выполнены. Поэтому очень важно поддерживать нормальную работу процесса crond.
Отношения между cron и crond: сервисы и исполнители
Чтобы лучше понять взаимосвязь между cron и crond, мы можем использовать пример из реальной жизни.
Представьте себе: у вас есть приложение под названием « Сяохуншу» ( Маленькая красная книжка ), представляющее собой огромную систему, позволяющую пользователям просматривать и публиковать контент в определенное время;
За этим приложением стоит программа под названием «Xiaohong Guardian», которая отвечает за автоматическую публикацию контента в фоновом режиме.
cron — это «маленькая красная книжка», а crond — «маленький красный страж».
Подводя итог различиям между cron и crond:
- крон: Отвечает за составление расписаний задач и управление ими, а также является «мозгом» планирования запланированных задач.
- crond: Фоновый процесс-демон, который является «исполнителем» запланированных задач и выполняет задачи согласно расписанию в таблице cron.
Если посмотреть на это с этой точки зрения, cron — это вся система, а crond — это процесс, выполняющий задачи в системе.
Файл crontab: список задач cron
Система cron использует для выполнения файлы crontab ; именно в них система cron хранит расписание задач.
Каждый пользователь (включая пользователя root) может иметь свой собственный независимый файл crontab для управления своими запланированными задачами.
мы можем использовать crontab -l команду для просмотра списка задач текущего пользователя или используйте crontab -e чтобы отредактировать задачу.
синтаксис файла crontab
В файле crontab каждая строка представляет задачу, и формат каждой строки следующий:
分钟 小时 日期 月份 星期 命令
Например, следующая задача представляет выполнение сценария резервного копирования каждый день в 2 часа ночи:
0 2 * * * /usr/local/bin/backup.sh
Этот простой пример иллюстрирует мощные возможности автоматизации системы cron.
cron и crond: их закулисное сотрудничество
В реальной работе системы cron и crond неразделимы. cron отвечает за создание расписаний задач и управление ими, в то время как crond постоянно отслеживает время и обеспечивает выполнение задач в определенное время.
Всякий раз, когда системное время достигает заданного времени задачи, crond «просыпается» и выполняет задачу.
Зачем нам нужен демон crond?
Наличие crond гарантирует, что задачи будут выполняться вовремя. Он будет запускаться автоматически при каждом запуске системы и продолжать работу.
Если crond перестанет работать, все задачи в системе cron не смогут выполняться. Таким образом, нормальная работа демона crond имеет решающее значение для автоматического управления системой.
Сценарии применения в ежедневном управлении системой
Комбинация cron и crond широко используется при управлении системой, особенно в серверных средах. Ниже приведены некоторые типичные сценарии применения:
- 自动 备份: С помощью cron вы можете запланировать регулярное резервное копирование данных на сервере каждый день или каждую неделю.
- Автоматическая очистка: Настройте регулярную очистку файлов журналов, чтобы предотвратить заполнение дискового пространства сервера.
- Мониторинг и тревога: Регулярно выполняйте проверки работоспособности системы через cron и отправляйте электронные письма с сигналами тревоги при обнаружении отклонений.
Недоразумения между cron и crond: часто задаваемые вопросы и ответы
Почему задача cron не выполняется?
Многие люди обнаружат, что поставленные ими задачи cron не выполняются должным образом. Причины могут быть следующими:
- процесс crond не запускается: Пожалуйста, убедитесь, что crond работает нормально.
- Ошибка конфигурации задачи: проверьте правильность синтаксиса файла crontab.
- проблема с путем: убедитесь, что указанные пути к командам и сценариям верны.
Как перезапустить процесс crond?
Если процесс crond работает ненормально, вы можете использовать следующую команду, чтобы перезапустить его:
sudo service crond restart
Эта команда перезапустит службу crond, чтобы гарантировать нормальное выполнение всех задач.
Вывод: незаменимость cron и crond
Идеальное взаимодействие между cron и crond позволяет системе Linux автоматически выполнять задачи без вмешательства человека, что значительно улучшает возможности автоматического управления системой.
cron служит системой планирования времени для составления планов, а crond служит процессом-демоном, ответственным за выполнение задач.
Можно сказать, что они дополняют друг друга и вместе создают мощную и гибкую автоматизированную систему управления задачами.
В повседневном использовании знание различий и приложений cron и crond может сделать вас более комфортным в управлении сервером и добиться более эффективной работы.
В будущем вы сможете узнать больше о расширенном использовании системы cron для дальнейшей оптимизации и автоматизации процесса управления системой.
cron и crond определенно хорошие партнеры, которые должны быть у каждого администратора Linux.
Надеюсь, статья «В чем разница между cron и crond? Разберитесь в секретах их различных функций за 1 минуту», опубликованная в блоге Чэнь Вэйляна ( https://www.chenweiliang.com/ ), окажется для вас полезной.
Не стесняйтесь делиться ссылкой на эту статью: https://www.chenweiliang.com/cwl-32188.html
