Школа Linux

Ищи, здесь еще очень много интересного:


Планировщик задач в Linux (Crontab)

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

Главным достоинством системы linux в том, что в ней есть мощная командная строка, в которой возможно выполнить абсолютно все то, что вы делаете с помощью мышки. Хотите скачать какой нибудь файл? Пожалуйста, - это делается в консоли в два щелчка. Хотите почитать новости, тоже пожалуйста. И зная мощь консоли, можно увидеть весь потенциал, который несет в себе Crontab. Crontab позволяет выполнять любые команды в определенное время, через определенные промежутки времени. Объяснять настройку этого планировщика я буду на каком нибудь примере, ведь не секрет, что это улучшает понимание материала.

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

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

sudo crontab -e

Ключ е - показывает нам о том, что файл открыт для редактирования.

Если вы впервые беретесь настраивать Crontab, то вас спросят о выборе редактора для редактирования, как на рисунке ниже.

Я выбрал nano (пункт 2), так как это очень простой, но функциональный редактор.После выбора у вас запустится редактор nano с настройками Crontab.

Далее нам надо убедиться в том, что в начале этого файла есть такие строчки:

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

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

 # m h  dom mon dow   command

Где m - это минуты (от 0 до 59)

h - это часы (от 0 до 23)

dom - день месяца (1-31)

mon - месяц (1-12)

dow - день недели (от 0 до 6), 0 - это воскресенье, 1 - понедльник и т.д.

command - собственно сама команда, которую нам необходимо будет запустить.

Вот в таком формате и нам придется создавать задание. Только учтите, что:

  • В одной строчке вы должны располагать только одно задание
  • Между всеми этими параметрами вы можете использовать как знак табуляции, так и обычный пробел
  • Если вдруг какой то параметр не задействован, то вместо него вставляем *(звездочка)
  • Если вам важен диапазон запуска, через какой промежуток времени повторять, то следует использовать m/period (где m - минуты, а period - через сколько минут повторять)
  • После задания обязателен переход на новую строку, которое сообщает Crontab что это конец задания

И сразу же несколько примеров:

Если вам нужно что-бы будильник запускался тольо 27 сентября в 14.00 то первые параметры будут иметь вид 0 14 27 9 * (последняя звездочка, так как день недели нам не важен), если вам необходимо чтоб будильник повторялся еще каждые 2 минуты, то последние пять параметров будут иметь вид 0/2 14 27 9 *.

Так как мы будем делать будильник, то нам необходимо чтобы он срабатывал только в рабочие дни, и первые параметры будут выглядеть так 0 14 * * 1-5 (где 1-5 - это дния с понедельника по пятницу).

Ну вот и собственно сама команда нашего будильника:

0,10 14 * * 1-5 mplayer ~/1.mp3

Сейчас я расскажу о параметрах, которые я ввел. 0,10 - музыка будет включаться в 00 минут и 10 минут (вдруг с первого раза не проснемся), 14 - час включения (мы любим поспать), * - не важен месяц, * - и не важен день месяца, 1-5 - с понедельника по пятницу, mplayer ~/1.mp3 - проигрывает в mplayer файл 1.mp3.

И еще кратко о самом сервисе Cron: Cron - это сервис/демон, который обычно по умолчанию устанавливается вместе с операционной системой Linux. Этот демон ежеминутно обращается к своим настройкам и проверяет, не нужно ли чего запустить, и если нужно - запускает. Вот такой он простой-сложный Cron



Related news items:
Newer news items:
Older news items:

 

Авторизация



Наши друзья

Теги