Настройка cron в linux

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

Непосредственное редактирование файла crontab

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

По умолчанию по команде с опцией файл загружается в редактор Vi. Редактор Vi — мощный, хотя и сложный инструмент, популярный среди опытных пользователей Unix. Тот, кто предпочитает другой редактор, например Xedit, может установить соответствующее значение переменной среды EDITOR:

После этого вводится команда:

Выполнеине команды приводит к открытию файла в  указанном редакторе.

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

Как работает автозагрузка?

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

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

Рассмотрим основные уровни автозагрузки которые вы можете использовать:

  • Автозагрузка на уровне ядра — вы можете указать любую программу, которая будет запускаться после старта ядра вместо системы инициализации;
  • Автозагрузка системы инициализации — запуск основных системных сервисов, дополнительных сервисов, а также ваших скриптов на этапе инициализации системы;
  • Автозагрузка rc.local — устаревший метод загрузки скриптов, выполняется перед запуском графического окружения;
  • Автозагрузка менеджера входа — вы можете выполнять свои скрипты или команды после запуска менеджера входа, но перед запуском окружения;
  • Автозагрузка X сервера — запуск нужных программ или скрпитов сразу после старта X сервера;
  • Автозагрузка окружения — большинство окружений поддерживают автозагрузку программ, там даже можно настроить отложенный запуск и другие параметры;
  • Автозагрузка bash — самый последний вариант — это автозагрузка на уровне отдельной командной оболочки, вы можете выполнять нужные команды автоматически, как только будет запущен терминал.

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

Примеры Cronjob

Следующая команда crontab будет выполнять «updatedb» через каждые 50 минут:

Пример кронтаба для выполнения /usr/local/bin/testscript.sh в 20:00 20 января, февраля, марта и апреля:

Приведенная ниже команда позволит системе выполнять файл «testscript.sh» каждую пятницу в 13:00:

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

Пример 5: Выполнение Cronjob в указанные дни

Ниже приведен пример, который поможет вам, если вы хотите запланировать выполнение cronjob в определенные дни. Этот пример будет запускать файл «testscript.sh» в понедельник и среду в 14:00:

Пример 6: Выполнение Cronjob в первый понедельник каждого месяца

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

Пример 9: Выполнение Cronjob в начале каждого года с использованием «@yearly»

Выполнение задания в первую минуту нового года полезно в том случае, если вам нужно отправить кому-то поздравления с Новым годом. «0 0 1 1 *» аналогично метке времени

Пример 10: Выполнение Cronjob в начале каждого месяца с помощью «@monthly»

Вы можете использовать временную метку «@monthly» для выполнения ежемесячных задач, таких как выставление счетов клиентам и оплата счетов:

Пример 11: Выполнение Cronjob в начале каждой недели с использованием «@weekly»

Выполните любое задание в начале недели, например, очистку системы, используя временную метку «@weekly». «weekly» эквивалентно «0 0 * * * mon»:

Пример 13: Выполнение Cronjob в начале каждого часа с использованием «@hourly»

Временная метка «@hourly» эквивалентна «0 * * * * *». Вы можете использовать эту временную метку для выполнения ежечасных задач:

Пример 14: Выполнение Cronjob для перезагрузки системы

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

Примеры заданий для Crontab

Давайте проверим некоторые примеры crontab для планирования заданий cron.

1. Запускать задания cron каждые 12 часов

Это помогает при регулярных проверках системы или резервном копировании. Чтобы запланировать выполнение задачи каждые 12 часов, введите:

2. Запускать задание cron каждые 5 минут

Иногда вам нужно следить за своей системой каждые n минут. Используйте следующее выражение для выполнения задачи каждые 5 минут.

3. Запускать работу cron каждый день в 2 часа ночи

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

Чтобы запланировать работу cron каждый день в 2 часа дня, cron использует 24-часовые часы.

7. Пример задания cron для запуска каждую субботу в 1 час ночи

Это поможет вам запустить резервное копирование в субботу в определенное время. Следующее выражение помогает выполнять работу cron каждую субботу в 1 час ночи.

13. Запуск задания cron ежемесячно

Вместо использования 0 0 1 * *, вы можете использовать ярлык с помощью @monthly. Он работает в 00:00 1-го числа месяца. В качестве альтернативы вы можете разместить свой скрипт в /etc/cron.monthly/.

14. Запуск задания cron еженедельно

Вместо использования 0 0 * * mon, вы можете использовать ярлык с помощью @weekly. Он начинается в 00:00 в понедельник. В качестве альтернативы вы можете разместить свой скрипт в файле /etc/cron.weekly/.

15. Запуск задания cron ежедневно

Вместо использования 0 0 * * *, вы можете использовать ярлык с помощью @daily. Это работает каждый день в 00:00. В качестве альтернативы вы можете разместить свой сценарий в файле /etc/cron.daily/.

16. Выполнение задания cron каждый час

Вместо использования 0 */1 * * *, вы можете использовать ярлык с помощью @hourly. Он работает в 0 минут каждый час. В качестве альтернативы вы можете разместить свой скрипт в файле /etc/cron.hourly/.

17. Запуск задания cron при перезагрузке

Для запуска задачи при каждой перезагрузке системы используйте строку @reboot. Скрипт будет выполнен после перезагрузки.

18. Запуск задания для cron каждые 30 секунд

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

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

19. Запустите задание cron и перенаправить вывод

Если наш скрипт имеет какой-то вывод, нам, возможно, захочется его увидеть. Для этого можно сохранить его в отдельный файл. Этот пример позволит запускать php-скрипт каждые 3 минуты и перенаправлять вывод в файл.

Обратите внимание что тут используются абсолютные пути, так как мы не определили нашу переменную $PATH

Резервное копирование заданий cron

Для бекапа задач cron, можно использовать следующую команду:

Для бекапа задач cron определенного пользователя:

Чтобы восстановить cron из файла резервной копии, просто используйте:

Необходимый базовый уровень

  • Базовый опыт работы с командной строкой;
  • Навыки работы с SSH на сервере Linux.

Задачи

  • Научиться настраивать простую запланированную задачу (задание cron) в среде Linux-сервера;
  • Установить задачу cron для отправки электронной почты ежедневно в указанное время.

Отправка электронной почты с помощью PHP

Сначала нужно создать простой PHP-скрипт для тестирования Cron Linux настройки. Я собираюсь создать файл, который отправляет электронную почту:

<?php
$to = 'me@example.com';
$message = 'This is the message.';
$subject = 'Insert Subject Here';
$headers = 'From: noreply@example.com' . "rn" .
           'Reply-To: me@example.com';
@mail($to, $subject, $message, $headers); 
?>

Если вы не знакомы с PHP-функцией mail() ознакомьтесь с официальной документацией. Я устанавливаю переменные, задающие получателя, электронный адрес отправителя, тему, содержание письма и заголовки. Это не самый современный или безопасный способ отправки электронной почты. Но это работает, поэтому я собираюсь использовать его для тестирования. Сохраняем код в файле cron.php.

Путь к публичной папке будет зависеть от дистрибутива Linux, но я поместила файл cron.php в /var/www/html/crontest. Поэтому полный путь к моему скрипту будет следующим: /var/www/html/crontest/cron.php. Вы можете протестировать этот скрипт непосредственно в браузере. Если адрес вашего сайта example.com, скорее всего, адрес файла будет example.com/crontest/cron.php. Если вы запускаете файл и получаете электронное письмо, значит, скрипт работает.

Localhost не настроен для отправки PHP-почты, поэтому этот скрипт должен запускаться из среды Linux.

Основной синтаксис Cron

Есть полезный сайт под названием Crontab Generator, который может настроить Cron PHP, но сначала мы кратко рассмотрим основной синтаксис.

Пример работы Cron:

* * * * * /usr/bin/php /var/www/html/crontest/cron.php > /dev/null 2>&1

Части команды cron

Команда cron состоит из четырех основных частей:

Время выполнения	Выполнение PHP	Путь к скрипту	Результат
* * * * *	/usr/bin/php	/var/www/html/crontest/cron.php	> /dev/null 2>&1

Время выполнения — устанавливает минуты, часы, дни, месяцы и день недели.

Выполнение — задача cron должна вызвать PHP, который находится в папке /usr / bin / php.

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

Результат (необязательно) — можно записать результат в файл или отбросить эту часть > /dev/null 2>&1.

В приведенном выше примере задача Cron Linux настроена на отправку электронной почты каждую минуту часа ежедневно. Звездочка — это подстановочный знак, обозначающий «все».

  • Минуты — установите минуты, от 0 до 59;
  • Часы — установите часы, от 0 до 24;
  • Дни — установите день, от 1 до 31;
  • Месяцы — установите месяц, от 1 до 12 (январь-декабрь);
  • Неделя — установите день недели, от 0 до 6 (воскресенье — суббота).

Вот несколько простых примеров:

Синтаксис	Пояснение
0 * * * *	запускается один раз в час (каждую нулевую минуту каждого часа).
0 0 * * *	запускается один раз в день (в полночь каждого дня в нулевую минуту).
0 0 1 * *	запускается один раз в месяц (в первый день каждого месяца в полночь в нулевую минуту).
0 0 1 1 *	запускается один раз в год (в первый день первого месяца в полночь в нулевую минуту).

Существуют и другие настройки, например, для нечетных / четных дней, каждые 5 минут и т. д. Также доступно множество ресурсов, на которых можно найти конкретные настройки.

Настройка задачи Cron

Если cron настроен под учетной записью root, тогда нужно запустить sudo перед запуском кода.

Команда cron называется crontab. Мы задаем для нашей задачи выполнение рассылки электронной почты один раз в день, так что полная команда будет такой:

0 0 * * * /usr/bin/php /var/www/html/crontest/cron.php >/dev/null 2>&1

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

crontab -l 
crontab: no crontab for user

Теперь мы отредактируем crontab:

crontab -e

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

Вот что нужно сделать:

  1. Нажмите esc;
  2. Нажмите i, чтобы начать редактирование файла;
  3. Вставьте команду cron в файл;
  4. Снова нажмите esc, чтобы выйти из режима редактирования;
  5. Введите :wq, чтобы сохранить изменения в файле (w — write) и выйти (q — quit).

Теперь crontab сохранен, и электронное письмо должно отправляться один раз в день в полночь. Вы можете установить * / 5 * * * * — каждые 5 минут, чтобы проверить его работу.

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

Перекрытия задач

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

У нас есть несколько вариантов предотвращения перекрытия заданий cron.

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

Flock — хороший инструмент для управления файлами блокировки из сценариев оболочки или командной строки. Эти файлы блокировки полезны для того, чтобы узнать, запущен ли скрипт.

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

Или:

Рассмотрим следующую запись crontab:

В предыдущем примере ищет . Если блокировка будет получена за одну секунду, она запустит скрипт. В противном случае он потерпит неудачу с кодом выхода 1.

Использование механизма блокировки в скриптах

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

В предыдущем коде мы сохраняем текущий PHP-процесс в файле, который находится в системном каталоге. Каждый PHP-скрипт имеет свой собственный файл блокировки, который является MD5-хэшем имени файла скрипта.

Сначала мы проверяем, существует ли файл блокировки, а затем получаем его содержимое, которое является идентификатором процесса последнего запущенного экземпляра скрипта. Затем мы передаем PHP-функцию posix_getsid , которая возвращает идентификатор сеанса процесса. Если возвращается , это означает, что процесс больше не работает, и мы можем безопасно запустить новый экземпляр.

Как составить расписание задач с помощью Cron

Звучит просто: для планирования задач просто добавьте их в свой crontab. Поскольку crontab — это специальный файл конфигурации, редактировать его вручную не рекомендуется. Вместо этого используйте команду . Чтобы отредактировать crontabs root или других пользователей, запустите команду с правами администратора и добавьте их имя пользователя после опции -u:

Файл crontab состоит из двух разделов. Первый содержит переменные среды, которые устанавливаются автоматически. Вы можете безопасно изменять переменные PATH, HOME и SHELL и изменять переменную MAIL.

Вторая часть файла — это фактическое «расписание» с вашими запланированными заданиями. Каждая задача занимает строку (строку) в таблице со столбцами, представляющими следующие значения:

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

  • Числа должны быть целыми числами (целыми числами), и вы можете использовать звездочку (*) в любом из столбцов в качестве подстановочного знака, что означает «каждую минуту / день / месяц…».
  • В столбце «День месяца» старайтесь не устанавливать дату, которая не встречается в месяце, указанном в столбце «Месяц» (например, 30 февраля).
  • Столбцы «Месяц» и «День недели» принимают короткие имена для месяцев и дней соответственно и нечувствительны к регистру.
  • В столбце «День недели» 0 и 7 обозначают воскресенье. В столбце «Час» требуется формат «военное время» (24 часа), но вы не можете использовать число 24 — вместо этого 0 означает 12:00. Это происходит потому, что значения минут, часов и дня недели начинаются с 0 вместо 1.
  • Секунды не поддерживаются, поэтому вы не можете запланировать задачу на определенную секунду.

Что вы можете сделать, так это запланировать интервалы времени с использованием дефиса (14-22 в разделе «Часы» будут запускать задачу непрерывно с 14:00 до 22:00) или запустить одну задачу несколько раз, определив список через запятую (1, 3,5 в «День недели» будет запускать задание в понедельник, среду и пятницу).

Между тем, значения шага представлены косой чертой (/), и они указывают количество пропусков в пределах диапазона; например, 3-20 / 3 в разделе «Часы» будет запускать задачу каждые три часа с 3:00 до 20:00. Это полезно, если вы хотите повторять задачи каждые X часов, поскольку вы можете объединить звездочку и шаг (* / ИКС). Вы можете комбинировать диапазоны со списками и шаги с диапазонами, если вы используете числа. Другими словами, такие комбинации, как «джан-мар» или «вт, пт-вс» не допускаются.

В качестве альтернативы, вместо установки значения для каждого столбца, вы можете просто написать @weekly, @yearly, @monthly, @daily или @hourly в начале строки, а затем команду. Запланированные так, задачи будут запускаться при первой возможности, поэтому @weekly будет выполняться в полночь первого дня недели. Если вы хотите запустить задачу сразу после запуска системы (re), используйте команду @reboot.

В этом примере мы запланировали резервное копирование каждый день на 08:20 и 20:20. Обои меняются автоматически каждые три дня в 19:00, и скрипт проверяет наличие новых подкастов каждый понедельник в 10:20 и 20:20. Напоминание о дне рождения назначено на 25 марта и выполняется каждые 30 минут в течение указанного периода времени. Наконец, скрипт проверяет электронную почту каждые 15 минут с 8 до 20, но только в рабочие дни. Вы можете свободно организовать свой crontab с пробелами и табуляциями между столбцами, но не внутри них (не ставьте пробелы между запятыми, дефисами и косой чертой).

Если все это звучит слишком сложно, не волнуйтесь — вы всегда можете положиться на Интернет. Такие инструменты, как Crontab Generator , Crontab.guru и Corntab, помогут вам создавать задания cron, не зная синтаксиса crontab. Они показывают, когда задание будет выполнено следующим, и предоставляют шаблоны для часто используемых выражений. Crontab.guru — лучший из всех, потому что он позволяет вам протестировать синтаксис crontab в режиме реального времени, чтобы вы могли сразу увидеть, как ваши изменения повлияют на расписание.

Запуск фоновых задач Cron каждые 10 минут

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

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

Вместо указания значений в 5 полях мы можем указать их, используя ключевое слово, как показано ниже.

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

Специальные ключевые слова Cron и их значение

Ключевое слово Эквивалент
Запуск системы

Что Такое Cron Job?

Cron — это утилита для планирования повторяющихся заданий. Отложенное/запланированное задание — это и есть cron job.

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

Cron — демон, а это означает, что он работает в фоновом режиме для выполнения не интерактивных заданий. В Windows примером фоновых процессов являются Службы.

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

Файл cron — это простой текстовый файл, который содержит команды для запуска в определённое время. Системный файл crontab по умолчанию — /etc/crontab, он находится в каталоге crontab /etc/cron.*/. Только системные администраторы могут редактировать системный crontab-файл.

Однако, поскольку Unix-подобные операционные системы поддерживают несколько пользователей, каждый из них может создать свой собственный crontab-файл и запускать команды в любое время. Демон cron проверяет файл и запускает команды в фоновом режиме.

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

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

Встречается в статьях

Инструкции:

  1. Настройка кластера Ceph на Linux CentOS 7
  2. Инструкция по установке и использованию GLPI на Linux CentOS
  3. Как установить и настроить iRedMail на Rocky Linux или CentOS
  4. Настройка почтового сервера iRedMail на Ubuntu/Debian
  5. Как настроить Freeradius для Active Directory и MySQL
  6. Как настроить OpenVPN с аутентификацией через LDAP
  7. Как настроить почту для корпоративной среды на CentOS 8
  8. Как настроить почту для корпоративной среды на Debian
  9. Как настроить почту для корпоративной среды на Ubuntu Server
  10. Как настроить samba4 на FreeBSD 10
  11. Как установить и использовать OpenVZ на CentOS
  12. Установка и настройка отказоустойчивого кластера Pacemaker
  13. Как настроить почту на базе Postfix для корпоративной среды (CentOS 7)
  14. Настройка синхронизации на CentOS и Ubuntu с Rsync Server
  15. Установка и настройка файлового сервера Samba на CentOS 8
  16. Установка и настройка файлового сервера Samba на Ubuntu
  17. Установка и настройка puppet на CentOS
  18. Установка веб-сервера Apache на FreeBSD

Мини-инструкции:

  1. Как сделать резервную копию базы MySQL
  2. Как найти файл в Linux
  3. Как настроить ротацию логов во FreeBSD
  4. Как пользоваться командой systemctl
  5. Получение бесплатного сертификата Lets Encrypt
  6. Как настроить автоматическую чистку логов в системах UNIX
  7. Как настроить систему безопасности с SELinux в CentOS
  8. Как создать резервную копию PostgreSQL и восстановиться из нее
  9. Установка и настройка OwnCloud на CentOS 7 или 8
  10. Установка и настройка Pflogsumm для получения почтовой статистики
  11. Настройка сервера синхронизации времени NTP на Linux Ubuntu
  12. Как использовать резервные копии iRedMail для восстановления или переноса сервера
  13. Как работать с менеджером рассылки писем PHPLIST
  14. Установка и настройка своего локального репозитория CentOS
  15. Инструкция по развертыванию Nextcloud с Apache на Ubuntu
  16. Сбор писем от почтового провайдера в Dovecot на локальный сервер
  17. Настройка rsyslog для хранения логов на удаленном сервере Linux
  18. Установка и настройка CRM Битрикс24 на Linux CentOS
  19. Настройка мониторинга RAID LSI MegaRaid на Linux с помощью Zabbix
  20. Установка и настройка SARG на CentOS для анализа логов прокси-сервера SQUID
  21. Установка и настройка сервера Rocket.Chat на Ubuntu
  22. Отправка почты из Битрикс24 без попадания в СПАМ
  23. Настройка сервера синхронизации времени NTP на Linux CentOS
  24. Шпаргалка по работе с системой управления конфигурациями Ansible
  25. Создание снапшотов на ZFS с их просмотром на шаре Samba
  26. Как создавать резервную копию Nextcloud и восстанавливать ее

Planning an operation with Crontab

All the automations, later defined by the user, are called jobs and saved within a file called crontab .

There is a crontab for each user profile present on the system. When there is only one user, remember that the operations entered in the crontab file for the root user are not performed for the ‘non-root’ user and vice versa.

To edit your crontab file as a non-root user run the command:

A screen similar to a text editor where to set the characteristics of each job, will open. Cron follows a very precise syntax, which provides a list of parameters to be defined and then the command or operation to be timed.

It is better to clarify which are the parameters to be specified for each job in order to run them correctly:

  • Minute: goes from 0 to 59 and indicates the minute the job has to be performed
  • Hour: goes from 0 to 23 and indicates the time the job has to be performed
  • DoM (Day of the Month): ranges from 1 to 31 and indicates the day the job has to be performed
  • Month: runs from 1 (January) to 12 (December) and indicates the month the job has to be performed
  • DoW (Day of the Week): ranges from 0 (Sunday) to 6 (Saturday) and indicates the day of the week the job has to be performed.

These parameters together create the structure accepted by Cron for the planning of the command. More precisely, the syntax to use is the following:

An example of a command accepted by Cron is the following:

The job thus defined means:

  • At 15 minutes
  • At 18
  • On day 5
  • Of each month (*)
  • Regardless of the day (*)
  • Curl the site http://www.google.com and add the result to the file «google_curl.txt».

As you may have noticed, the special character «*», which means «all possible values for a field», has been inserted w.

However, it is not the only special character that can be used when defining your scheduled task. The others are:

  • «,»: To specify that the same job must be executed in different moments, instead of writing two identical jobs, the various moments can be defined in a single job. Consequently, to repeat a precise command both at 8.30 and at 8.45 write «30.45 8 * * * command».
  • «-«: To repeat one of your jobs 10 times after one minute, instead of creating 10 different jobs, use this character to define a range of values ​​in the concerned field (in this case applied to minutes). In this case, the syntax of the command would be similar to the following: «1-10 * * * * command».
  • «/»: To repeat one of your jobs every time after a preset value of time, place this symbol next to the special character «*» so that the division between the value of the character «*» and the divisor returns a whole number. For example, to repeat a job exactly every 2 hours, define it following the syntax shown here: «* * / 2 * * * command».
    NB For the hours the only allowed values ​​are 1,2,3,4,6,8 and 12.

Now that you know how to configure all your possible jobs, here are some examples of jobs.

NB For convenience, each instruction has been collected under the name «command», which does not represent an actual command and will clearly be replaced with the operation you want to plan.

The figure above lists 5 examples of jobs inserted in the crontab file:

  • command_1 runs every minute
  • command_2 runs every 10 minutes of all hours of everyday
  • command_3 runs everyday at every hour at 30 minutes
  • command_4 is run everyday at every hour at an interval of 30 minutes (it is equivalent to the meaning of command_3)
  • command_5 runs every Thursday, Friday and Saturday at 3:30 pm.

To add your jobs to the crontab file run the crontab -e command as specified above .

NB Keep in mind that, on CentOS, the crontab file would be opened with the Vi editor, which is a very powerful but equally complicated tool to use for a beginner. To learn how to use this text editor, reading our tutorial on How to use Vim is recommended.

To start editing the crontab file, after executing the crontab -e command, press the «i» key and then enter the instructions for your jobs. At the end press ESC and then type «: wq» to save the changes and close the editing of the file.

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: