<|||>
Настройка Cron в Linux под системные нужды
Проблемы и основы по системы Linux и Ubuntu

Linux - удобный планировщик задач cron.

Планировщик задач в LinuxCron позволяет пользователям Linux- и Unix - систем запускать команды и сценарии в заданное время и представляет собой альтернативу встроенного Планировщика Windows. Как и аналог из Windows, Cron является чрезвычайно полезным для системного администрирования низкоуровневым инструментом, интегрированным в систему без возможности (как в общем-то и надобности) удаления. В Linux, однако, существует возможность заменить реализацию встроенного в дистрибутив Cron - это может быть vixie cron, cronie, dcron, fcron, bcron или anacron. Каждая из реализаций (и их версий) проявляет себя по-разному в отдельных дистрибутивах: где-то лучше работает vixie cron, где-то нужен именно dcron.

Поэтому выбор, какой из Cron'ов применять для резервного копирования, периодической очистки и других системных операций, следует основывать на информации из интернета о совместимости реализаций с конкретным Linux. Для установки реализации, отличной от уже используемой в системе, можно воспользоваться менеджером пакетов (Synaptic, Rigo, YaST), при чем предварительно удалить имеющуюся, скорее-всего, не получится - она будет заменена новой.

Первоначальная настройка Cron в Linux осуществляется из консоли командой "crontab" с параметрами, позволяющими создавать, редактировать, устанавливать и удалять задания. Для каждого пользователя создается собственный файл заданий, что исключает путаницу и позволяет работать с планировщиком чисто индивидуально. Чтобы создать или изменить собственный Cron-файл, введите следующую команду в терминале:

crontab –e

В окне текстового редактора откроется окно с настройками и существующими заданиями (в файле настроек рабочего окружения .bashrc можно задать свой текстовый редактор по умолчанию добавлением строки без кавычек "export EDITOR=команда_запуска_редактора"). Параметры "SHELL", "PATH", "MAILTO" и "HOME" можно оставить без внимания, так как они прописаны согласно установкам окружения, разве что параметр "MAILTO" можно приравнять к своему имени пользователя. После них и нескольких пустых строк расположены задания - по одному на строку. Их синтаксис таков:

1 2 3 4 5 /путь/к/программе аргумент1 аргумент2

, где 1 - минута (0-59), 2 - час (0-23), 3 - день (0-31), 4 - месяц (0-12).

Например, строка в планировщике

0 2 * * * /home/user/backup.sh

будет запускать скрипт резервного копирования в 2 часа ночи каждый день, а

10 19 3 * * /home/user/jobs/program

каждый 3-й день месяца в 19:10 поставит на выполнение выбранный исполняемый файл. Естественно, что backup.sh и program должны содержать код и иметь права на запуск в качестве программы. Оператор "звездочка" (*), как уже можно было догадаться, обозначает нестрогое соответствие (каждый день, каждый месяц, каждую минуту и так далее). Другие доступные операторы - "/", "," и "-" - предназначены для обозначений интервала, списка и диапазона значений соответственно.

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


Добавьте в него строку с подстановкой оператора "/" в минуты:

*/15 * * * * /путь/к/программе

Каждые 4 часа прописываются аналогично в значениях часов, каждую неделю - в днях (*/7) и так далее. В сочетании с оператором "-" можно задавать промежутки выполнения, например, "10-16" в днях будет означать выполнение операции с 10-го по 16-й день заданного месяца, а при помощи оператора "," - выбирать конкретные дни, часы и так далее, например, значение "3,4,7,12" (все, как обычно, без кавычек) в месяцах будет означать запуск процесса в марте, апреле, июне и декабре.

Возможна ли такая настройка Cron, при которой по расписанию будут работать приложения с графическим интерфейсом (GUI)?


Да. Для того, чтобы запустить GUI-программу через Cron, нужно указать последнему в строке расписания дисплей для вывода. Подставьте перед "/путем/к/программе" следующую команду:

export DISPLAY=:0

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

*/5 * * * * export DISPLAY=:0 && /usr/bin/qjoypad --update >/dev/null 2>&1

, из которой видно, что QJoyPad будет запускаться ежечасно, каждые 5 минут, на дисплее по умолчанию, с параметром "--update". Последний параметр (">/dev/null 2>&1") отключает отправку отчетов по электронной почте.

Надеюсь, информация, представленная в данной статье, поможет Вам оптимально настроить планировщик Cron под свои потребности на сервере или домашнем ПК с Linux.


Понравилась полезная статья? Подпишитесь на RSS и получайте больше нужной информации!



Loading...
Комментарии
Добавить новый RSS
Волк-одиночка   |2016-05-01 12:00:51
Спасибо, интересно, обязательно попробую.
Оставить комментарий
Имя:
Email:
 
Тема:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
Все права защищены. Copyright 2008-2016 © Мой компьютер плюс