Веб инструменты Webobzor.net Rambler's Top100
На главную  Новости  Рейтинг  Каталог  Статьи  Графика  Веб инструменты 

покупка яхты или катера | отдых и туры в Швейцарию летом | Московский кадровый центр персонала | импортер запчасти к грузовикам Mack и Volvo | туры Казахстан и Узбекистан
Статьи


Веб дизайн
Интернет
Продвижение сайта
Java Script
Apache
PHP
MySQL
Веб технологии
Эксперименты
Проекты

Дистрибутивы
Форум веб мастеров
Гостевая книга

Определить PageRank
Определить ТИЦ
Проверить IP адрес
Whois сервис

Реклама


777

Наши друзья
PhpScript.com.ru

GoldPages.com.ru



Webobzor.net -> Статьи -> Apache


Что такое cron и как им пользоваться

28.09.2006  13:04

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

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

Всё дело в том что авторы таких статей много говорят о преимуществе crontab, и то как с ним работать из под консоли… стоп в этом то и есть вся загвоздка, я как обычный пользователь не имею доступа к этой самой КОНСОЛИ, а авторы по какой-то непонятной причине даже не упоминают про С панель, мало того я перечитав более 10 статей не нашел конкретного описания того, как крону дать задание по выполнению скрипта на PHP или Perl. Вместо этого авторы таких статей начинают рассказывать про то как найти crontab в списке запущенных процессов (заметьте что для этого опять таки необходимо как минимум иметь доступ к консоли).

Или про то что в ответ на ваш запрос ответит crontab. Это всё конечно хорошо, но какая нам от этого польза??? Никакой! Авторы таких статей вероятно и не подозревают о чём они пишут, зачем нам лишний хлам? Его и так полным полно в Интернете…

Вступление оказалось затянутым, но в нём я хотел указать отличие этой статьи от подобных статей на эту тему, и так начнём.

Сron - это программа которая позволяет вам в определенные вами моменты времени производить те или иные действия. Например, запускать на выполнение какую либо программу или скрипт, большего нам и не нужно. Задание дать крону очень просто, для этого заходите в свою С панель

Что такое cron и как им пользоваться  


Что такое cron и как им пользоваться  


и собственно добавить задание. Задание можно давать двумя способами, как вам больше нравится, я приведу в пример оба способа.

Способ 1-й. Standard.
Для начала я покажу как это выглядит на скриншоте, а после объясню что к чему, когда вы заходите в раздел добавления перед вами форма с с несколькими полями. Заполнить их можно вот так:

Что такое cron и как им пользоваться  


после нажатия на кнопку Save Crontab происходит как вы догадались сохранение задания, после сохранения на этой же странице задание можно удалить, нажав на ссылку Delete под ненужным заданием.

Способ 2-й. Advanced (Unix Style).
Этот способ мне нравится больше. Добавления задания в этом случае выглядит немного по-другому, перед вами уже другая форма, но смысл один и тоже. Заполняется форма вот так:

Что такое cron и как им пользоваться  


После сохранения задания страница имеет вот такой вид.

Что такое cron и как им пользоваться  


Теперь поговорим подробнее о всём этом безобразии что я вам показал.

Значит, все задания даются в определённом временном интервале. Может немного путано сказал, но думаю, вы поймете, что для того, что бы задание выполнялось необходимо указать время (минуту, час, день недели, месяц) иначе ничего неполучится. Данные для первого способа задаются так :

В поле выбора минута(ы) minute(s) указываете минуту в которую будет запускаться задание, в поле час(ы) hour(s) указываете час (либо часы) в который(е) будет выполняться задание, а так же день(и) day(s), и месяц month(s), в каждом поле можно указать как конкретное время так и интервал.

В строку команда для выполнения (command to run) вы вписываете ваше задание.

Задание задаётся следующим образом.

- Первым делом вы указываете путь к php, у меня на сервере путь такой /usr/bin/php у вас может быть другим, уточните у админов вашего сервера, после пути к php ставите пробел и пишите полный внутренний путь к файлу который должен запускать crontab. Допустим мне необходимо что бы крон запускал файл new_day.php, зная внутренний путь к файлу я пишу следующее

/home/freeman/domains/public_html/cron/new_day.php

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

/usr/bin/php /home/freeman/domains/public_html/cron/new_day.php

- Теперь указываете время обработки этого фала.

- И последнее необязательное условие, в поле Please enter an email address where the cron output will be sent. В переводе на русский звучит так: Введите ваше мыло, куда крон будет присылать отчёт. Поле необязательное, но лучше ввести мыло, что бы быть в курсе дела, если что-то пойдёт не так крон сообщит вам об этом в письме, а если письмо пришло пустое значит всё ОК!!! Во втором случае то же самое.

Думаю с этим всё ясно теперь поговорим о том как задать время выполнения.
Минута часа для запуска (0-59)
Час дня запуска (0-23)
День месяца (0-30)
Месяц года (1-12)
День недели (0-6)

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

* * * * command

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

А строка 02 4 * * * command

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

Значения могут быть числом, трехбуквенным названием, а так же диапазоном, например запись «1-5» в поле day будет означать «с понедельника по пятницу». Значения могут отделяться запятыми: «1,15,31» в поле day будет запускать указанную команду 1-го, 15-го и 31-го числа каждого месяца.

Все пять полей времени допускают использование символа звездочка – «*», который обозначает «использовать любое допустимое значение» для этого поля. Например, для того, что бы запускать команду каждый месяц, поставьте «звездочку» в поле month.

Также можно использовать значения вида «*/число». Например «*/2» в поле месяца будет означать «запускать каждый второй месяц».
Вот например можно указать такое задание :

*/5 * * * * /usr/bin/php /home/freeman/domains/public_html/cron/new_day.php

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

webobzor.net



Комментарии: [5]


Damon  08.10.2006  13:38

Не могли бы вы выслать мне cron на email, в инете найти проблематично. Может мало икал... p.s:Заранее благодарен

lexa  09.10.2006  00:33

Смотри на главной странице раздел Дистрибутивы. Там крон есть, небольшой - 21К. А вообще он тут http://www.webobzor.net/source.html

Damon  09.10.2006  01:47

Можете подсказать где можно взять бесплатную cpanel?

lexa  09.10.2006  11:27

Нигде не видел бесплатной cpanel. Как минимум, $15 стоит.

ZK  26.01.2008  04:01

Здравствуй! Сразу же огромный респект за сайт. Каждую страничку прочитал. некоторые примеры юзаю на http://www.kyigrandtour.com. Вот этот крон. Обясни на примерах зачем он нужен! Где используется! Как -я уже понял))) Еще раз спасибище!!! Юрий


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


* Ник:
E-mail:
Сайт:
* Комментарий:
* Введите число: 521
Популярные статьи


Прыгающие буквы на JavaScript
30156 

Эффект прозрачности в JavaScript
9451 

Древовидное меню на JavaScript
8025 

Создание Favicon.ico
7198 

Эффект плавного перехода на JavaScript
6663 
Последние комментарии


Установка Apache под Linux

Пока успел прочитать только эту одну зам...
Вениамин | 06.01.2009 - 17:48

Мой "любимый" хостинг

в общем ты не далек от истины )...
lexa | 05.01.2009 - 19:58

Мой "любимый" хостинг

забил я значить в яндекс такую фразу и в...
chehonte | 05.01.2009 - 19:52

Robots.txt. Подробное описание

При обращении к любому сайту гугл прежде...
lexa | 05.01.2009 - 19:48

Robots.txt. Подробное описание

Вот тут написано что можно запретить инд...
chehonte | 05.01.2009 - 19:44


Счетчики





Rambler's Top100










2006 © Проект Webobzor.net