$33.76


$33.01


$14.47


Используем Cron

Данная заметка предназначенна для тех, кто собирается работать с cron, но еще не знает как все это делается. Я в кратце попробую объяснить что такое cron, для чего он нужен да и как вообще с ним работать. Надеюсь, что приведенная тут информация будет интересна и может быть даже полезна :)

Итак что такое cron... cron это программа которая позволяет вам в определенные вами моменты времени производить те или иные действия. Например запускать на выполнение какую либо программу или скрипт, обновлять данные и многое другое. Кстати, сразу же замечу, что cron это кусок от unix , так что не ищите его на Windows :) Там для этой цели используется совершенно другая вещь.


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

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


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

Команда ps ax |grep cron должна вывести вам то-то похожее на

407 ?      S  0:00 crond
744 pts/0  S  0:00 grep cron

Т.е. если вы видете crond — то все в порядке, крон на месте.

Иначе вам просто «повезло», либо на вашей машине не установлен крон, либо функции крона выполняет какой-то другой софт. Хотя такие ситуации необычайно редки.

Так что будем считать что все в порядке, и двинемся далее.
pages::
Как правило все ваши данные (задания) для крона хранятся по адресу /var/spool/cron/ в файле с именем соответствующим вашему логину. Например /var/spool/cron/vadim

Внутри файл выглядит следующим образом:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=vadim HOME=/home/vadim # run-parts 01 * * * * command 02 4 * * * command
Первые четыре строки просто обозначают настройку параметров окружения и на них не стоит обращать внимание (как в прочем и менять тоже), так как это задается уже самой системой.

А вот на следующие строки внимание уже стоит обратить...

Формат этих строк выглядит следующим образом:

Нужная минута часа для запуска (0-59)
Нужный час дня для запуска (0-23)
Нужный день месяца (0-30)
Нужный месяц года (1-12)
Нужный день недели (0-6)
Выполнимая команда.

Значок * обозначает слово каждый (день, год, месяц, час).

Итак например строка 01 * * * * command будет обозначать запуск программы каждый час в одну минуту.

А строка 02 4 * * * command означает запуск программы каждый день в 4 часа утра в две минуты.

В качестве уже более полного примера могу привести следующее:
01 * * * * echo `date` «Hi man» >>$HOME/cron.res

Данное задание каждый час будет добавлять в файл cron.res текст Hi man и текущую дату.

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

Редактирование крона происходит при помощи команды crontab.

crontab -e : войти в режим редактирования
crontab -l : вывести все задания крона
crontab -r : удалить все задания

Со второй и третьей командой обычно все ясно.

С первой командой просто хочу заметить, что редактирование будет простым открытием файла с заданиями через текстовый редактор. Как правило по умолчанию этим редактором является vi.

Но я так и не научился пользоваться этим редактором, поэтому использую pico.

Смену редактора можно провести командой
export EDITOR=«pico» а далее и запускать команду редактирования.

Вот вроде-бы и все. Удачного вам крона :)

 

Интересное

Что моя бабушка говорила...
Закон о возмещении ущерба в случае похищения персональных данных 2007 года получил единодушное согласие сената. Как это часто бывает с нашей законодательной властью, две палаты конгресса —...
Подробнее...
Определение наличия...
По статистике, около 90% пользователей в наши дни пользуются Internet Explorer (5-й или 6-й версией). В этих браузерах Flash, как правило, уже установлен (если же нет, то, при наличии...
Подробнее...
Outlook Express,...
Для этого нужно сохранить в другом месте файлы с нужной корреспонденцией (например, Входящие.dbx и другие с таким же расширением) и гдебы даже и на бумажке. После того как вы переустановите...
Подробнее...
Протоколы интернет
Прародителем сети интернет была сеть ARPANET. Первоначально её разработка финансировалась Управлением перспективного планирования (Advanced Research Projects Agency, или ARPA). Проект стартовал...
Подробнее...
Установка свойств для...
Установка свойств для разных объектов на странице является одной из простейших задач при программировании на VBScript. Стандартная схема этого действия выглядит так:
Подробнее...
Внимание! Отказ в...
Описание: Уязвимость позволяет удаленному пользователю вызвать отказ в обслуживании приложения.Уязвимость существует из-за ошибки при обработке пакетов, отправленных на порт 48000 UDP/TCP....
Подробнее...
Как обнаружить утечку памяти
При разработке больших приложений, оперирующих большими объемами информации на первое место при отладке встает проблема обнаружения неправильного распределения памяти. Суть проблемы состоит в том,...
Подробнее...
Требования к CMS в эпоху...
По поводу перспектив Веб 2.0 существует множество мнений и часто диаметрально противоположных, однако едва ли кто-либо станет спорить с тем, что эта концепция заметно сказалась на современном...
Подробнее...
Протоколы интернет
Прародителем сети интернет была сеть ARPANET. Первоначально её разработка финансировалась Управлением перспективного планирования (Advanced Research Projects Agency, или ARPA). Проект стартовал...
Подробнее...
Windows Vista - архивация...
В Windows Vista добавлены новые ценные возможности, помогающие избежать потери важной информации. Windows Vista предлагает несколько уровней архивации и восстановления данных, обеспечивающих...
Подробнее...