Что такое scheduler cron чем они опасны

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Время планировать задачи

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Например, вы можете установить задание cron для автоматизации повторяющихся задач, таких как резервное копирование баз данных или данных, обновление системы последними обновлениями безопасности, проверка использования дискового пространства, отправка электронных писем, перезагрузка сервера и так далее. В некоторых приложениях, таких как Drupal или Magento, для выполнения определенных задач требуются задания cron.

Задания cron могут быть запланированы по минуте, часу, дню месяца, месяцу, дню недели или любой их комбинации.

Про Linux за 5 минут

Что такое файл Crontab

Crontab (таблица cron) представляет собой текстовый файл, который определяет расписание заданий cron. Существует два типа файлов crontab. Общесистемные файлы crontab и отдельные пользовательские файлы crontab.

/etc/crontab и файлы в каталоге /etc/cron.d являются общесистемными файлами crontab, которые могут редактировать только системные администраторы.

В большинстве дистрибутивов Linux вы также можете помещать скрипты в каталоги /etc/cron. , и скрипты будут выполняться каждый час/день/неделю/месяц.

Синтаксис Crontab и операторы

Каждая строка в пользовательском файле crontab содержит шесть полей, разделенных пробелом, за которым следует команда для запуска.

Первые пять полей могут содержать одно или несколько значений, разделенных запятой или диапазон значений, разделенных дефисом.

Общесистемные файлы Crontab

Предопределенные макросы

Существует несколько специальных макросов расписания Cron, используемых для определения общих интервалов. Вы можете использовать эти ярлыки вместо указания даты в пять столбцов.

Команда Crontab

Команда crontab позволяет установить или открыть файл crontab для редактирования. Вы можете использовать команду crontab для просмотра, добавления, удаления или изменения заданий cron, используя следующие параметры:

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Переменные Crontab

Демон cron автоматически устанавливает несколько переменных окружения.

Ограничения Crontab

Примеры Cron заданий

Ниже приведены некоторые примеры заданий cron, которые покажут вам, как запланировать выполнение задачи на разные периоды времени.

Источник

Планирование рутинных задач Linux при помощи Cron и Anacron

Что такое Cron?

Cron – это утилита планирования, которая позволяет предварительно установить время запуска задач. Входя в базовый набор инструментов, утилита Cron может быть использована для автоматизации почти всех задач системы, которые должны происходить на регулярной основе.

Одинаково умелый в управлении задачами, которые нужно выполнять ежечасно или ежедневно, и крупными программами, которые необходимо запустить один или два раза в год, cron является важным инструментом для системного администратора.

Данное руководство описывает использование cron с помощью командной строки, а также чтение конфигурационного файла данного инструмента. Оно также включает изучение anacron, инструмента, который можно использовать, чтобы убедиться, что задачи выполняются, даже когда сервер некоторое время выключен.

Руководство использует Ubuntu 12.04 VPS, но любой современный дистрибутив Linux работает таким же образом.

Как работает Cron

Cron запускается при загрузке и работает в фоновом режиме как демон. Это означает, что он работает без вмешательства пользователя и ждет определенных «событий», чтобы начать действовать.

В случае cron, эти события – определенные моменты времени. Крон работает в фоновом режиме и проверяет свой конфигурационный файл каждую минуту, чтобы узнать, планируется ли действие именно сейчас.

Если событие было запланировано, cron выполняет все предварительно заданные команды, а затем возвращается в фоновый режим до следующей минуты. Если событие не было запланировано, он ждет 60 секунд и проверяет файл снова.

Благодаря поминутному планированию этот инструмент очень гибок. После установки дистрибутива Linux cron уже сконфигурирован запускать множество задач.

Чтение Crontab

Cron решает, какие команды когда запускать, читая серии файлов под названием crontab. Общесистемный crontab можно просмотреть в «/etc/crontab»:

Это системный crontab, который в большинстве случаев не нужно редактировать. Для повседневной работы лучше использовать собственный crontab, так как изменения, внесенные в системный crontab, будут потеряны во время обновления файловой системы.

В файле есть несколько частей, в которых следует разобраться.

Первые две строки указывают оболочку, которая будет выполнять перечисленные команды, и путь для проверки программ.

Остальная часть файла определяет фактические команды и планирование. Каждая строка в этом списке представляет собой запись или строку в таблице. «tab» в crontab означает «table» (таблица). Каждая ячейка таблицы разделена двоеточием или табами.

Закомментированная строка в верхней части таблицы подсказывает, что содержится в колонках:

# m h dom mon dow user command

Планирование часов и минут с Cron

Первая колонка содержит минуты (0-59) часа запуска команды. Вторая колонка содержит часы (0-23), в которые нужно запустить команду. Символ звездочки (*) означает «все возможные значения» и используется как шаблон.

При совмещении этих двух колонок можно получить значение времени для команды. К примеру, если во второй колонке указано 25, а в первой 6, то:

Это значит, что вторая строка должна быть запущена в 6:25 утра.

Аналогично, первая строка означает, что команда должна запускаться каждый час на 17-й минуте:

То есть, она будет запущена в 1:17, 2:17, 3:17, и т.д.

Планирование дней

Третья, четвертая и пятая колонки определяют дни, в которые должна быть запущена команда. Третья колонка указывает день месяца от 1 до 31(будьте осторожны при планировании дней в конце месяца, так как не все месяцы имеют одинаковое количество дней).

Четвертая колонка указывает, в котором месяце нужно запустить команду (1-12), а пятая указывает день недели со значениями от 0 до 7 (0 и 7 означают воскресенье). Пятая колонка дает возможность планировать по неделям, а не по месяцам.

Если столбец дня недели и дня месяца содержат значения, которые не являются специальными символами, то команда будет запущена согласно значениям каждого столбца.

Дни недели и месяца можно также указать при помощи первых трех букв их названий. Также можно указывать диапазоны при помощи дефиса (-) и устанавливать несколько значений через запятую.

Интервал можно указать, устанавливая после значения символ /, а затем число. К примеру, чтобы выполнять команду каждый второй час, нужно установить значение «*/2» в колонке часов.

Посмотрев в crontab, можно увидеть, что третья запись запускается каждое воскресенье в 6:47 утра:

Четвертая строка запускается в первый день месяца в 6:52 утра:

Горячие клавиши планирования cron

Первые пять столбцов каждой записи можно заменить горячими клавишами. Синтаксис: символ «@» с указанием имени интервала.

К примеру, можно спланировать запуск команды каждую неделю, указав @weekly вместо создания отдельного столбца конфигураций. Также можно использовать @yearly, @monthly, @daily и @hourly.

Также есть специальный ярлык @reboot, который запускается сразу после запуска cron. Как правило, это происходит только при запуске системы, и именно поэтому его называют restart, а не cron-restart или подобно.

Имейте в виду, что эти ярлыки не обеспечивают точного контроля времени своего запуска. Они запускаются в первый же момент совпадения времени.

К примеру, «@monthly» запускается в полночь первого дня месяца. Это может привести к тому, что многие команды, время запуска которых указано ярлыками, будут запущены в одно и то же время. Такие события нельзя контролировать так, как обычный синтаксис планирования.

Указывание команд и пользователей с Cron

Следующие столбцы касаются непосредственного выполнения запланированных команд.

Шестая колонка, которая находится только в системном crontab, называет пользователя, который должен выполнить команду.

В последней колонке указывается собственно команда, которую необходимо выполнить. Команда может содержать символ %, который означает, что все, что указано после первого такого символа передается команде в качестве стандартного ввода.

Каждая запись должна заканчиваться символом новой строки. Это не проблема для большинства записей, но, все же, стоит убедиться, что за последней записью есть пустая строка, иначе команда не будет работать должным образом.

Использование команды run-parts и каталогов Cron

Если посмотреть на команды, указанные в системном crontab, можно увидеть упоминание о «anacron», который будет описан позже, и «run-parts».

Команда run-parts – это простая команда, которая запускает каждый исполняемый файл, расположенный внутри указанной директории. Она часто используется вместе с cron, поскольку это позволяет запускать несколько сценариев в указанное время, помещая их в одном месте.

Это очень удобно, так как позволяет оставить crontab простым, и в то же время вносить дополнительные скрипты, просто поместив их в систему или связав их в соответствующий каталог вместо редактирования crontab.

По умолчанию большинство дистрибутивов создают папки для каждого интервала, в которых размещаются скрипты или ссылки скрипты, которые нужно запустить в этом интервале.

К примеру, Ubuntu создает папки по имени «cron.daily», «cron.hourly», «cron.monthly» и «cron.weekly», в которых хранятся соответствующие скрипты.

Индивидуальные Crontab-файлы пользователя

Разобравшись с синтаксисом cron, можно использовать его для планирования задач пользователя. Это делается при помощи команды «crontab».

Поскольку команды в crontab пользователя будут запускаться с привилегиями данного пользователя, столбец «user» в индивидуальных crontab’ах не существует.

Чтобы увидеть текущий crontab, введите:

Вероятнее всего, такого файла не существует, если только он не был создан вручную. Если crontab есть, полезно будет сделать его резервную копию перед редактированием, чтобы иметь возможность отменить изменения.

Чтобы сохранить резервную копию в домашнем каталоге, наберите:

Чтобы отредактировать crontab, наберите:

Если появилось извещение, как при первом использовании команды, выберите предпочтительный редактор, чтобы продолжить.

Откроется закомментированный файл, который можно отредактировать, чтобы создать свои собственные правила.

К примеру, если бы в файле нужно было повторять (echo) команду «date» каждые 15 минут каждую среду, то нужно было бы внести такую строку:

*/15 * * * 3 echo «$(date)» >> /home/demouser/file

Затем можно сохранить файл, и, запустив «crontab –l», увидеть только что созданное правило:

Если нужно отредактировать crontab конкретного пользователя, можно добавить опцию «-u username». Это можно сделать только как root или как пользователь с root-привилегиями.

К примеру, если нужно что-либо внести в crontab «root», используйте:

Использование Anacron

Один из самых больших недочетов Cron заключается в том, что он предполагает, что сервер или компьютер всегда включен. Если в установленное время выполнения задачи машина выключена, задача не будет запущена.

Это серьезная проблема для систем, которые не могут быть включены постоянно. Потому был разработан инструмент под названием anacron. Anacron значит «анахронический», и используется для устранения этого недочета cron.

Anacron использует не такие подробные параметры, как cron. Наименьший интервал, который существует в anacron – это день. Это значит, что anacron нужно использовать как дополнение к cron, а не как замещение его.

Преимущество anacron состоит в том, что он пользуется временными метками для файлов, чтобы узнать, когда команды были выполнены в последний раз. Это значит, что если задача должна выполняться ежедневно, но компьютер был выключен в течение времени, когда anacron запускается, то он может увидеть, что задача была запущена в последний раз более 24 часов назад, и выполнит ее правильно.

Утилита anacron, как и cron, имеет таблицу планирования. Она имеет соответственное название «anacrontab» и также находится в каталоге «/etc». Рассмотрим ее формат:

Как можно заметить, ее формат похож на формат файла crontab, но она содержит меньшее количество столбцов, а также имеет некоторые отличия.

Первый столбец определяет, как часто команда должна быть запущена. Значение указывается в виде интервала в днях. Значение «1» будет работать каждый день, а значение «3» – каждые три дня.

Второй столбец определяет отсрочку выполнения команды. Дело в том, что Anacron – не демон. Он запускается в одно и то же время. Данное поле позволяет расположить выполнение команд таким образом, чтобы не все команды были запущены в одно и то же время.

К примеру, первая строка запускается каждый день через 5 минут после запуска anacron:

Следующая строка запускается каждую неделю через 10 минут после вызова anacron:

Третья колонка содержит имя, по которому работа будет известна в сообщениях и лог-файлах Anacron. Четвертое поле – команда, запущенная в данный момент.

Как видно, anacron запускает некоторые из скриптов cron. Разные дистрибутивы обрабатывают это столкновение по-разному, отдавая предпочтение одной из команд и отключая действия другой.

К примеру, на Ubuntu «/etc/crontab» проверяет, доступен ли в системе anacron, и затем выполняет скрипты каталогов «cron.*» с помощью cron, если anacron не был найден.

Другие дистрибутивы указывают cron обновлять временные отметки Anacron при каждом запуске этих каталогов, чтобы anacron не выполнял их при запуске.

Итоги

Cron и anacron – очень полезные инструменты автоматизации процессов. Понимание того, как использовать их сильные стороны и обойти их слабости, позволяет использовать их легко и продуктивно.

Хотя синтаксис конфигурации на первый взгляд кажется запутанным, эти инструменты помогут сэкономить время в будущем; кроме того, их, как правило, не нужно часто редактировать.

Источник

Cron (Крон) — все о этом планировщике задач и его возможностях

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Достаточно часто, при работе с крупными проектами, мы стараемся сложить с себя хотя бы часть рутинных дел. Если речь идет о крупных сайтах, серверах, или сложных онлайн-сервисах, то подобными задачами могут быть:

В таких случаях, вполне логичным решением, будет переложить выполнение всех этих задач, на специально разработанное программное обеспечение, которое могло бы запускать программы или выводить оповещения, в нужное нам время, с заданной периодичностью.

Именно для выполнения этой функции используется планировщик Cron (Крон). С помощью этой программы, вы сможете запускать нужные программы (например, антивирус), в заданное вами время, с нужной периодичностью, или выводить оповещения, которые бы напоминали о необходимости проплатить хостинг, продлить домен, и т.д.

Что такое Cron?

На многих сайтах, можно прочитать о том, что Cron, является классическим демоном. Подобное утверждение звучит достаточно странно, но только для тех, кто не владеет специальной терминологией. Дело в том, что «демон», он же «daemon» — это одна из разновидностей программного обеспечение для UNIX, характерной чертой которой, является запуск и работа в фоновом режиме. Как правило, такие программы запускаются во время загрузки системы.

«Демонов», используют для:

Как видите, последний пункт напрямую касается планировщика задач Cron.

Эта программа была разработана одним из пионеров компьютерных наук – Кеном Томпсоном. Само название, Cron (Крон), является отсылкой к слову «кронос», которое переводится как «время».

Что такое Cron задачи?

По сути дела, задача для данной программы, подразумевает правильно заданные временные параметры, а также указание, где находится файл, который нужно будет запустить.

Особенности работы с Cron

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Для того, чтобы добавить задачу для Cron, необходимо будет заполнить специальный файл для заданий – «crontab». Этот файл будет содержать всю необходимую информацию о том, в какое время, и какие именно программы, нужно будет запускать, от имени конкретного пользователя. Для того, чтобы можно было изменять файл crontab, не прибегая к остановке программы, используется одноименная программа (crontab).

Существует три основные команды, для редактирования и просмотра списка задач Крон:

Непосредственно расписание задач, для Cron (Крон), выглядит как таблица с шестью колонками. Пять колонок, ответственны за время выполнения задачи:

С их помощью, можно максимально точно задать время запуска конкретной программы, тем не менее у Cron (Крон), есть одна особенность, которая ограничивает возможность задать дату выполнения задачи. Дело в том, что практически все условия, касающиеся времени выполнения задачи, в Крон, проверяются по логическому правилу «И».

Например: 10 минут и 18 часов и 14 и Июня. Что вместе дает 14.06, в 18:10.

Однако, если вам нужно задать одновременно параметры «день недели» и «день месяца», то они уже будут обрабатываться по правилу «ИЛИ». Проще говоря, вы не сможете настроить запуск программы строго в пятницу, 13-е. Или в каждую пятницу, или каждый месяц, тринадцатого числа.

Кроме того, в планировщике задач Cron, можно задавать запуск со сдвигом в несколько минут. Например, существует возможность запуска программы каждые пять минут, начиная с конкретной даты и времени.

Также, необходимо четко помнить о следующих особенностях:

Также нельзя не упомянуть и о дополнительных функциях Cron, а именно:

Крайне важным является то, что содержание файла crontab, в обязательном порядке проверяется программой, с периодичностью раз в минуту. В случае обнаружения изменений, возможна синхронизация с другими аналогичными файлами.

Графические интерфейсы для Cron

Разумеется, работать из командной строки, без графического интерфейса, удобно не всем. Соответственно, для удобства пользователей в Cron (Крон), были созданы специальные графические оболочки, а именно:

Эта программа использует для управление таблицей crontab, такие средства как vixie-cron, at, dcron. Как правило, её использует для дистрибутивов Debian.

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Данная программа обладает достаточно простым и понятным графическим интерфейсом, с помощью которого вы без труда сможете задать время для одинарного выполнения задачи, или регулярный запуск программы по заданным вами условиям.

Отдельно стоит сказать о том, что в этой программе можно создавать шаблоны для задач. Кроме того, в Gnome Shelude, нельзя выполянть задания, которые требуют прав администратора. Для этого, нужно запускать программу в режиме суперпользователя.

Запуск в режиме суперпользователя осуществляется из консоли, с помощью команды «gksu gnome-schedule».

Графический интерфейс для планировщика задач Cron (Крон), который работает в рабочей среде KDE. В современных версиях, данная программа, является модулем, который можно найти в настройках системы. Для этого, зайдите в раздел по системному администрированию, и выберите пункт «Планировщик задач».

Бесплатное ПО, с открытым исходным кодом, которое написано с использованием NodeJS. Обладает достаточно простым и понятным графическим интерфейсом, который очень удобен в работе в Cron (Крон).

Стоит отдельно отметить такие возможности как:

Вполне логично, что в одной из самых популярных панелей управления хостинга, есть свой собственный графический интерфейс для Cron (Крон). Он представлен в виде модуля, под названием «Планировщик (cron)».

Для его использования, у администратора должны быть установлены права суперпользователя.

Похожие программы

Разумеется, планировщик задач Cron (Крон), не является единственным и неповторимым, и для того, чтобы иметь возможность пользоваться его функционалом, не обязательно устанавливать Unix-системы.

Аналогами Cron, для Windows являются:

Вывод

Планировщик для задач Cron (Крон), является крайне удобным и полезным инструментом, который обязателен к использованию для крупных проектов. С его помощью, вы сможете настроить запуск конкретных программ, или отображение оповещений, в нужное вам время, с нужной периодичностью.

Он достаточно прост и удобен для использования, однако в стандартной версии не имеет графического интерфейса, что является препятствием для многих пользователей.

Для тех, кто не может пользоваться этой программой без графического интерфейса, существует множество качественных оболочек, которые оптимизированы для работы с разными оболочками, или реализованы в качестве модулей для систем управления серверами.

Также существует достаточно большое количество альтернатив, для других ОС.

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

SEO-эксперт, вебмастер с 2009 года, CEO компании CyberShark. За время работы в сфере создания и продвижения сайтов протестировал более сотни хостингов.

Источник

Cron: что это такое и как его правильно использовать

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Разбираемся с тем, что представляет собой Cron, как он работает и зачем нужен. Пытаемся обуздать его параметры, чтобы планировать задачи на своем сервере без лишних затрат сил и времени.

Что такое Cron и crontab?

Если в двух словах, то Cron – это планировщик задач. Если подробнее, то это утилита, позволяющая выполнять скрипты на сервере в назначенное время с заранее определенной периодичностью.

К примеру, у вас есть скрипт, который собирает какие-либо статистические данные каждый день в 6 часов вечера. Такие скрипты называют «заданиями», а их логика описывается в специальных файлах под названием сrontab.

crontab – это таблица с расписанием запуска скриптов и программ, оформленная в специальном формате, который умеет считывать компьютер. Для каждого пользователя системы создается отдельный crontab-файл со своим расписанием. Эта встроенная в Linux утилита доступна на низком уровне в каждом дистрибутиве.

В Linux-дистрибутивах с поддержкой systemd Cron считается устаревшим решением, его заменили утилитой systemd.timer. Ее предназначение и функциональность не отличается, но фактически частота использования Cron все еще выше.

Для чего обычно используют Cron?

Обычно Cron заставляют повторять вполне очевидные задачи в духе регулярного создания резервных копий данных. Но это не все.

С помощью Cron пользователи автоматизируют самые разные задачи, сокращая вмешательство системного администратора в работу сервера.

Базовые принципы работы с Cron и crontab (через панель управления)

Многие хостинг-провайдеры предлагают отдельное меню в панели управления для настройки расписания запланированного выполнения скриптов.

Разберем подобное меню на примере панели управления Timeweb. Чтобы создать новую задачу, необходимо открыть раздел Crontab в боковой панели веб-интерфейса, кликнуть по кнопке «Добавить новую задачу» и указать параметры повторяющейся команды.​ Поговорим подробнее о параметрах.

На этом все. Скрипт запланирован и будет регулярно повторяться.

Что такое scheduler cron чем они опасны. Смотреть фото Что такое scheduler cron чем они опасны. Смотреть картинку Что такое scheduler cron чем они опасны. Картинка про Что такое scheduler cron чем они опасны. Фото Что такое scheduler cron чем они опасны

Базовые принципы работы с Cron и crontab (через SSH-протокол)

Планировать задачи через панель управления удобно, но не всегда возможно. Не все хостинг-провайдеры предлагают такие функциональные веб-интерфейсы. В этом случае придется воспользоваться командной строкой, подключившись к серверу по протоколу Secure Shell.

Для работы с планировщиком в системе есть ряд команд, помогающих решать основные задачи:

Чтобы запланировать задачи, используя командную строку, необходимо выполнить базовую настройку Cron, проверить, не установлены ли ограничения, и заполнить расписание задач в соответствии с синтаксисом сrontab.

Первичная настройка Cron

Как мы уже выяснили ранее, планировщик черпает параметры для выполнения своих задач из crontab-файлов (таблиц с расписанием). У каждого пользователя, включая root, должен быть свой crontab-файл. По умолчанию он не существуют, поэтому придется создать его вручную.

Вновь созданный файл будет пустым текстовым полем. Необходимо добавлять в него все параметры самостоятельно с нуля, опираясь на синтаксис сrontab (более подробно поговорим о нем ниже). После ввода параметров нужно сохранить параметры редактора, нажав на клавишу F2, а затем покинуть конфигурационный файл, нажав на клавишу F10. При введении корректных параметров в терминале отобразится строка crontab: installing new crontab.

Опытные разработчики и системные администраторы не рекомендуют использовать для редактирования расписания текстовые редакторы в духе Nano, Emacs или Vi. Команды crontab позволяют не только внести изменения в таблицу запланированных задач, но и перезапустить фоновый процесс crond, отвечающий за работу утилиты после сохранения настроек.

Ограничения Cron

У Cron есть функция установки ограничений на использование, задающихся через два специальных файла: cron.allow и cron.deny.

Первый файл находится в директории /usr/lib/cron/cron.allow и содержит в себе список учетных записей (имен пользователей), которые имеют право на планирование задач с помощью встроенных системных утилит.

Второй файл находится в директории /usr/lib/cron/cron.deny. В нем указываются имена пользователей, которые не могут запускать встроенный в систему планировщик задач.

Если первого файла не существует, то любой пользователь может планировать задачи с помощью встроенного в систему планировщика, но только при условии, что его имени нет во втором файле. Если удалить оба файла, то каждый пользователь сможет планировать задачи без ограничений.

Синтаксис crontab

Первые три линии кода в таблице отвечают за первичную настройку. Сначала указывается оболочка, в которой будет работать Cron. У утилиты нет каких-либо предпочтений, поэтому можно указать любую на собственное усмотрение (в нашем примере это bash). Затем указывается адрес электронный почты, на который будут отправляться отчеты о работе планировщика. И напоследок указывается путь к окружению.

Ниже находятся параметры, используемые для запуска процессов в определенный период времени. В комментариях описан базовый синтаксис, включающий в себя формат времени, имя пользователя и команду, которая должна быть запущена.

В нашем случае указаны команды:

Примеры использования Cron в командной строке

создает в таблице расписания задачу на запуск скрипта под названием bckp (представим, что такой существует), который создает резервную копию всей системы на стороннем накопителе. Он выполняется 5 числа каждого месяца в 4 часа 2 минуты утра. Это видно по числовым значениям. Звездочки же указывают на отсутствие конкретного значения. Cron воспринимает их как «выполнять каждый раз», то есть каждый месяц, день или неделю.

меняет время аппаратного обеспечения на то, что используется в системе. Делает это каждый день, каждую неделю и каждый месяц в 6 часов 4 минуты утра. Как видите, здесь пропущено третье значение. Поэтому команда и запускается ежедневно, так как нет более конкретных правил.

запускает обновление пакетов с помощью пакетного менеджера apt каждый месяц 5 числа в 05:10.

удаляет содержимое папки с временными файлами для конкретного пользователя (меня) на пятой минуте (первый пункт) каждого часа. Так как определенные значения отсутствуют для всех остальных пунктов, получается, что скрипт готов выполняться каждый день, каждый месяц и каждый час. Но первое значение указано, поэтому он будет дожидаться пятой минуты и запускаться в этот момент. То есть в 12:05, 13:05, 14:05 и т.п.

Как видите, разобраться с базовыми командами несложно.

Другие примеры настройки Cron

На примере команды для удаления временных файлов разберем пару-тройку нестандартных настроек расписания.

К примеру, некоторые показатели можно вводить не в виде цифр, а в виде сокращенных слов. Чтобы запускать удаление временных файлов каждую пятницу в 4 часа вечера, необходимо ввести в crontab:

Если не указывать в планировщике точных вводных, то выбранный скрипт будет выполняться каждую минуту:

Можно заставить планировщик выполнять задачу только в определенные месяцы. Чтобы запускать удаление временных файлов 1 февраля, 1 мая и 1 сентября в половину первого ночи, необходимо ввести в crontab:

Некоторые скрипты необходимо выполнять только по будням, поэтому в Cron есть возможность исключить некоторые дни недели из расписания:

Часы тоже можно делить. Например, запускать ту или иную задачу каждые 3 часа. Для этого нужно поставить слэш в графе с установкой времени по часам:

Вместо заключения

О работе с Cron стоит знать еще пару важных вещей.

Во-первых, всегда указывайте корректный почтовый адрес в параметрах. Это позволит собирать информацию о запускаемых по расписанию задачах. В этих письмах содержится и информация о возникающих ошибках. Во-вторых, при указании «исполнителя» в панели управления Timeweb важно делать корректный выбор, чтобы он соответствовал запускаемой задаче. В-третьих, информацию о работе Cron можно собирать в отдельный файл с помощью команд в духе:

На этом все. Следуйте инструкциям, не путайте порядок параметров и внимательно изучайте журнал ошибок, если что-то пойдет не так. После недолгой практики вы поймете, что работать с Cron не так уж и сложно!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *