Что такое планировщик Cron и как его использовать
Продвинутым пользователям, как и сисадминам, частенько приходится прибегать к помощи скриптов для автоматизации рутинных работ в Linux. Такой подход экономит время, усилия, удобен, стоит запустить скрипт, и все исполняется без вашего присутствия. Для полноты картины остается сделать один шаг – сделать настройки, которые бы совершали запуск нужной команды в нужное время. С этим прекрасно справляется планировщик Cron. Он способствует автоматизации процессов, учитывая время, частоту исполнения.
Предлагаем познакомиться с Сron поближе: как функционирует, используется, каким образом задавать требуемые параметры, чтобы все заработало на вашем сервере.
Что такое Cron
Планировщик задач Cron – утилита, отвечающая за выполнение на сервере определенных сценариев, в указанное время, с заданной частотой.
Например, существует задача – ежедневно в 19:00 осуществлять сбор статданных. Исполнение можно переадресовать утилите, логика же действий обрисовывается в файлах crontab.
Что такое crontab
Проще говоря, это таблица, включающая в себя расписание активизации необходимых команд, программ. Она имеет формат, понятный десктопам.
Подобный график создается в системе с учетом потребностей любого человека. Он включен в Linux, имеет доступный уровень в инсталляторе.
Для каких задач используют Cron
Чаще всего планировщик Cron востребован для воспроизведения типовых действий, например, систематического создания бэкапов. Но пользователи могут подкинуть еще работу:
- Посредством планировщика Cron откорректировать системное время, настраиваемое на многих ПК через протокол Network Time. Система настраивается через «операционку», поэтому может не соответствовать времени «железа». Теперь же появляется возможность проводить периодическую отладку.
- Востребованным сценарием становится создание оповещений, которые могут систематически появляться на экране монитора, «докладывать» о состоянии десктопа, предоставлять другую полезную информацию.
- Иногда работа проводится без ведома человека. Так происходит, когда подключаются различные лог-анализаторы, сканеры уязвимостей и осуществляют цикличность действия через Cron.
Благодаря планировщику пользователи имеют возможность автоматизировать различные процессы, облегчая на сервере работу сисадмина.
Image by freepik.
Основные принципы работы Cron и crontab при использовании SSH-протокола
Если провайдеры не в состоянии предложить планирование через консоль, то можно это сделать непосредственно через командную строку, подсоединившись к порталу посредством SSH-протокола.
Для облегчения взаимодействия с планировщиком Cron существует несколько команд, помогающих совершать базовые действия. Для этого к основе (crontab) добавляются дополнительно
е – обозначает открытие файловых настроек;
r – удаление файла конфигураций конкретного человека;
l – показ перечня операций;
v – сведения о времени последнего просмотра указанного выше файла;
man crontab – дает возможность узнать подробности.
Для начала работы через командную строку первым шагом будет первичная настройка.
Первичная настройка Cron
Для функционирования планировщика Cron используются данные из упомянутой таблицы. На сервере ее в индивидуальном порядке имеют все пользователи. Файл не предусмотрен по умолчанию, его требуется создать собственноручно. Для этого прибегают к crontab-e. Далее в папке /var/spool/cron отобразится требуемый файл. Если действие выполняется в первый раз, пользователю будет предложено выбрать один из предоставляемых редакторов. Все они будут пронумерованы, останется нажать нужную цифру.
Вы получили незаполненное текстовое поле, сюда предстоит прописывать задачи, применяя определенный синтаксис. Сохранить данные можно с помощью F2 на клавиатуре компьютера, клавиша F10 закрывает весь документ. При правильно проведенных действиях должна появиться строка:
Формат записей
При заполнении планировщика необходимыми рутинными задачами в табличном графике применяется особый формат строк. Каждая содержит определенные сведения:
- Указание временных и других данных для запуска нужной процедуры;
- Непосредственно команда для начала действий. В данном случае речь идет о скриптах, функционирующих на базе Linux. К ним, при необходимости, добавляются разные параметры.
Синтаксис Crontab
Как говорилось выше, указатели времени задаются определенным синтаксисом. Пример, в строчке указываются последовательно необходимые:
#мин. час день месяц день_недели/путь/к/исполняемому/файлу
Следует подчеркнуть, необходимо прописывать подробный путь к команде, в ином случае сервис может не найти ее.
Ниже приведем пример указаний данных, участвующих в запуске в условленный промежуток времени. Он включает временной формат, имя юзера, скрипт:
05 03 01 * * /usr/local/bin/apt-get update
В переводе на «человеческий» язык это будет звучать так: обновлять пакеты посредством соответствующего менеджера apt ежемесячно, 1-го числа в 3 часа 05 минут.
Значки «*» являются конкретными значениями, в данном случае они указывают на повтор операции каждый месяц, без учета дня недели, так как иного не указано.
При использовании перечисления нескольких дней недели используются запятые, то же самое распространяется на время.
Слэши указывают на цикличность (например, срабатывать каждый 30 мин.).
Тире используются чтобы обозначит конкретный промежуток (например, если в секторе дней недели отметить 4-6, то процесс будет активизироваться с четверга по субботу).
При взаимодействии с планировщиком важно помнить, запуск набора команд зависит от серверного времени и timezone. О параметрах зоны можно поинтересоваться у службы поддержки. второй вариант – использовать date, вписав символы в командную строку.
Какие команды можно указывать в Cron через командную строку
Рассмотрим наглядно, как выглядят шаблоны команд, подставив в них свои данные:
- 02 06 09 * * /usr/local/bin/backup -vbd1 ; /usr/local/bin/backup -vbd2 – таким образом создается процесс систематического резервного копирования материалов. Скрипт будет активироваться в 6 ч. 2 мин. 9 числа.
- 35 11 * * * /sbin/hwclock —systohc – приведение к общим показателям времени ОС и оборудования. Запланировано ежедневное «мероприятие» на 11 ч. 35 мин., поэтому нет больше никаких данных.
- 10 04 25 * * /usr/bin/apt-get update. Подобный пример мы рассматривали выше, он касается обновлений пакетов, должен запускаться 25-го каждого месяца в указанное время.
Основные принципы работы с Cron и crontab при использовании панели управления
Большинство хостов организовывают менюшку, нацеленную только на использование возможностей Cron. Добавляя новые процедуры, вводя необходимые данные рекомендуется учитывать нюансы:
- Наименование не должно включать в себя спецсимволы. Приветствуется любая формулировка описательного характера, чтобы потом не путаться.
- Не забудьте назвать исполнителя. Пользователь должен указать с чем именно должен взаимодействовать планировщик (например, с файлом).
- Далее необходимо заполнить путь до указанного файла. Это «тропинка» доведет до скрипта. Он должен будет постоянно запускаться посредством Cron. С файловым менеджером это будет сделать проще.
- Завершающий этап – указание в настройках периодичности проведения необходимо процесса. На панели управления могут быть несколько вариантов, но пользователь может выставить данные вручную через «Продвинутые настройки».
- Теперь остается кликнуть по кнопке «Создать».
Работа через консоль проще: нет необходимости запоминать синтаксис, ничтожен шанс допустить погрешность.
Синтаксис crontab-генераторов
При наличии специально созданных инструментов процедура значительно упрощается. Они избавляют от необходимости заниматься синтаксисом, т.к. имеют графический интерфейс. При вводе данных задания формируются сами. После генератор покажет код, его достаточно скопировать, вставить в таблицу. К таким программам относятся:
Crontab.guru – ресурс позволяет в короткий промежуток освоить несколько вариантов заданий. При вводе параметров сайт генерирует все необходимое. Там же можно найти подсказки;
Crontag Generator – генератор кода для ввода его в файл-таблицу. Принципы функционирования схожи с предыдущей площадкой.
Заключение
В заключение хотелось бы выделить следующее:
- Вписывайте в параметры планировщика правильный email. Так будет собираться информация о выполнении расписания, возникших погрешностях.
- При назначении исполнителя в консоли Timeweb нужно сделать продуманный выбор, соответствующий запускаемому процессу.
- Всегда ориентируйтесь на руководства, соблюдайте последовательность при указании параметров, не забывайте о журнале ошибок.
Оцените статью