Крон, сокращение от запустить команду онлайн, — мощный планировщик заданий по времени для Unix-подобных операционных систем. Срок оплаты хрон это игра слов короны или Хронос, который представляет время в греческой мифологии. Название cron планировщика заданий, основанного на времени, отражает его функцию по планированию и выполнению задач в определенное время или через определенные промежутки времени, что делает его подходящей ссылкой на концепцию времени в мифологии.
Cron позволяет автоматизировать повторяющиеся задачи, выполнять сценарии через заданные интервалы и поддерживать эффективность системы. Это подробное руководство даст вам все, что вам нужно знать о cron, от установки до использования, ключевой словарный запас и примеры реального кода.
Содержание
- 1 Оглавление
- 2 Что такое болезнь Крона?
- 3 Установка крона
- 4 Концепции и терминология короны
- 5 Синтаксис Крон
- 6 представляет поле в выражении cron. Например, чтобы запланировать работу каждый день в 15:30, используйте:
- 7 Работать только в январе и июле в 8:30 утра:
- 8 Cron — ценный инструмент для автоматизации задач в системах Unix. Благодаря гибким возможностям планирования это может упростить администрирование системы и повысить эффективность. Понимая его синтаксис и следуя передовым практикам, вы сможете воспользоваться возможностями cron для эффективной автоматизации своих повседневных задач.
Оглавление
- Что такое корона?
- Установка крона
- Основные понятия и терминология
- Синтаксис Крон
- Примеры и варианты использования
- Распространенные ошибки и лучшие практики
- Дополнительные ресурсы cron
Что такое болезнь Крона?
Cron — это демон (фоновый процесс), который работает в системах на базе Unix, включая Linux и macOS. Его основная цель — автоматическое выполнение запланированных задач. Эти задачи могут варьироваться от простых сценариев до обслуживания системы и резервного копирования.
Установка крона
Большинство Unix-подобных систем поставляются с предустановленным cron. Вы можете проверить его доступность, открыв терминал и набрав:
crontab -e
Если эта команда открывает редактор таблиц cron, у вас установлен cron. Если нет, вы можете установить его с помощью системного менеджера пакетов. Например, в Ubuntu вы можете использовать:
sudo apt-get install cron
Концепции и терминология короны
Прежде чем мы углубимся в использование cron, давайте разберемся с некоторыми важными понятиями и терминологией:
- Кронтаб: Суммируя таблица хронаэто файл, содержащий список запланированных пользователем задач.
- Кронджоб: отдельная задача или команда, запуск которой запланирован на определенное время.
- Страна: каждое задание cron имеет пять полей, которые определяют, когда задание выполняется:
- Минута (0-59)
- Час (0-23)
- День месяца (1-31)
- Месяц (1-12)
- День недели (0–7, где 0 и 7 обозначают воскресенье)
Синтаксис Крон
Понимание синтаксиса записей crontab очень важно. Это следует шаблону:
* * * * * command-to-be-executed
Вот объяснение с комментариями, которое вы можете включить в свое задание cron:
# +---------------- minute (0 - 59)
# | +------------- hour (0 - 23)
# | | +---------- day of month (1 - 31)
# | | | +------- month (1 - 12)
# | | | | +---- day of week (0 - 6) (Sunday=0 or 7)
# | | | | |
* * * * * /var/www/html/myscript.php
Каждая звездочка
30 15 * * * command-to-be-executed
представляет поле в выражении cron. Например, чтобы запланировать работу каждый день в 15:30, используйте:
Примеры и варианты использования Cron
- Давайте рассмотрим несколько практических примеров, иллюстрирующих использование cron: Запуск скрипта ежедневно:
0 0 * * * /path/to/script.sh
- Чтобы запускать скрипт каждый день в полночь, вы можете использовать: Запуск скрипта каждый час:
0 * * * * /path/to/script.sh
- Для урока используйте: Еженедельное резервное копирование:
0 2 * * 0 /path/to/backup-script.sh
- Чтобы запланировать еженедельное резервное копирование по воскресеньям в 2:00, используйте: Выполнение задания в определенные месяцы:
30 8 * 1,7 * /path/to/script.sh
Работать только в январе и июле в 8:30 утра:
- Сбои Cron и лучшие практикиПеременные среды
- : убедитесь, что ваши задания cron установили необходимые переменные среды, поскольку задания cron не наследуют переменные среды вашей оболочки. Разрешения:
- Обязательно установите права доступа к исполняемому файлу сценария. Каждый раз, когда я повторно сохранял свой сценарий, мне приходилось заново устанавливать разрешения!Переменные пути
- : Укажите полный путь к исполняемым файлам и сценариям в заданиях cron, чтобы избежать проблем с относительными путями.Тестирование
- : Прежде чем настраивать важные задания cron, протестируйте их в безопасной среде, чтобы убедиться, что они работают должным образом.Ведение журнала
0 0 * * * /path/to/script.sh >> /path/to/cron.log 2>&1
: перенаправить выходные данные заданий cron в файл журнала, чтобы отслеживать их выполнение и возможные ошибки. /path/to/script.sh
Это задание cron запускает скрипт /path/to/cron.log
каждый день в полночь, а выходные данные (как stdout, так и stderr), сгенерированные сценарием, добавляются в файл журнала.
- . Обычной практикой является запись и протоколирование результатов заданий cron для целей мониторинга и устранения неполадок. Давайте разберем этот конкретный синтаксис задания cron: *0 0 * * *:
- Эта часть определяет расписание запуска задания cron. В этом случае он будет запускаться каждый день в полночь (0 минут после 0 часов)./путь/к/script.sh
/path/to/script.sh
: это команда или сценарий, который запускается при запуске задания cron. В этом примере показан сценарий, который - .>> /путь/к/cron.log
cron.log
: эта часть направляет стандартный вывод (stdout) задания cron в файл журнала с именем/path/to/
Расположен>>
. - Оператор добавляет выходные данные в файл журнала, поэтому, если файл не существует, он будет создан, а если он уже существует, выходные данные будут добавлены в конец файла.2>&1
2
: используется для направления стандартного вывода (stdout) и стандартных ошибок (stderr) в один и тот же файл журнала.1
означает stderr и2>&1
означает стандартный вывод. Итак,
означает, что стандартный вывод и стандартный вывод направляются в один и тот же файл журнала, указанный выше.
Cron — ценный инструмент для автоматизации задач в системах Unix. Благодаря гибким возможностям планирования это может упростить администрирование системы и повысить эффективность. Понимая его синтаксис и следуя передовым практикам, вы сможете воспользоваться возможностями cron для эффективной автоматизации своих повседневных задач.
Дополнительные ресурсы Cron
Source