Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Синтаксис CRON
 
 автор: Doka   (14.01.2007 в 09:06)   письмо автору
 
 

Объясните пожалуста синтаксис CRON'a. Как там задавать время, куда писать путь до скрипта и т.д.

   
 
 автор: cheops   (14.01.2007 в 13:18)   письмо автору
 
   для: Doka   (14.01.2007 в 09:06)
 

Вот ссылка на русский мануал http://www.nncron.ru/download/help_ru.zip, в нём достаточно кратко, но понятно всё описывается. Вы запускаете cron у себя на локальной машине или на сервере?

   
 
 автор: Doka   (14.01.2007 в 21:02)   письмо автору
 
   для: cheops   (14.01.2007 в 13:18)
 

Хихи моя локальная машина непотянет CRON, ибо она моторола с650))))) так што запускаю на сервере. Через админ панель.

   
 
 автор: cheops   (15.01.2007 в 00:24)   письмо автору
 
   для: Doka   (14.01.2007 в 21:02)
 

Хм... а CHM-формат вам доступен? Если нет, на всякий пример приведу выдержку, посвящённую синтаксису crontab-файла (вообще это редко требуется, так как, хостеры сейчас чаще предоставляют Web-интерфейс для cron)

Cron-формат это простой, но мощный и гибкий способ описания времени и периодичности действий. nnCron LITE использует cron-формат при указании временных интервалов в кронтабе.

Традиционный (унаследлванный из мира Unix) cron-формат состоит из пяти полей, разделенных пробелами:

<Минуты> <Часы> <Дни_месяца> <Месяцы> <Дни_недели>

nnCron LITE может работать и с традиционными с "улучшенным" вариантом cron-формата, который отличается от традиционного шестым добавленным полем - <Годы>:

<Минуты> <Часы> <Дни_месяца> <Месяцы> <Дни_недели> <Годы>

Пользователь сам может выбрать подходящий для него формат, изменяя значение переменной YearField в файле настроек cron.ini. По умолчанию nnCron LITE использует традиционный формат, его мы и будем придерживаться в примерах

Вот его схема:
* * * * *
| | | | |
| | | | +----- Дни недели (диапазон: 1-7)
| | | +------- Месяцы     (диапазон: 1-12)
| | +--------- Дни месяца (диапазон: 1-31)
| +----------- Часы       (диапазон: 0-23)
+------------- Минуты     (диапазон: 0-59)

Любое из пяти полей может содержать символ * (звездочка) в качестве значения. Это означает полный диапазон возможных значений, например, каждая минута, каждый час и т. д. Пользователи nnCron LITE могут также использовать в первых четырех полях "нестандартный" символ - ?. См. его описание ниже.

Любое из полей может содержать список значений, разделенных запятыми (наприимер, 1,3,7) или интервал (поддиапазон) значений, обозначаемый дефисом (например, 1-5).

После звездочки (*) или интервала можно с помощью символа / указать шаг значений. Например, 0-23/2 может использоваться в поле "Часы" для указания того, что действие должно происходить каждые два часа (альтернатива из старого варианта - 0,2,4,6,8,10,12,14,16,18,20,22), значение */4 в поле "Минуты" означает, что действие, должно происходить каждые четыре минуты, 1-30/3 - это то же, что и 1,4,7,10,13,16,19,22,25,28.

В полях "Месяцы" и "Дни недели" можно вместо числовых значений использовать сокращенные до трех букв названия месяцев (Jan, Feb ... Dec) и дней недели (Mon, Tue ... Sun)

Примеры:
* * * * *                         каждую минуту

59 23 31 12 5                     за минуту до конца года, если последний день года -
                                  пятница
                                    
59 23 31 Dec Fri                  за минуту до конца года, если последний день года -
                                  пятница (еще один вариант записи)

45 17 7 6 *                       Каждый год 7-го июня в 17:45

0,15,30,45 0,6,12,18 1,15,31 * 1-5  В 00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30,
                                  06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15,
                                  18:30, 18:45, если сейчас 1-е, 15-е или 31-е число 
                                  любого месяца и только по рабочим дням недели

*/15 */6 1,15,31 * 1-5              В 00:00, 00:15, 00:30, 00:45, 06:00, 06:15, 06:30,
                                  06:45, 12:00, 12:15, 12:30, 12:45, 18:00, 18:15,
                                  18:30, 18:45, если сейчас 1-е, 15-е или 31-е число
                                  любого месяца и только по рабочим дням недели (еще 
                                  один вариант записи)

0 12 * * 1-5 (0 12 * * Mon-Fri)   В полдень по рабочим дням

* * * 1,3,5,7,9,11 *              Каждую минуту в январе, марте, мае, июле, сентябре
                                  и ноябре

1,2,3,5,20-25,30-35,59 23 31 12 * В последний день года в 23:01, 23:02, 23:03, 23:05,
                                  23:20, 23:21, 23:22, 23:23, 23:24, 23:25, 23:30,
                                  23:31, 23:32, 23:33, 23:34, 23:35, 23:59

0 9 1-7 * 1                       Первый понедельник каждого месяца, в 9 утра

0 0 1 * *                         В полночь, первого числа, каждый месяц

* 0-11 * *                        Каждую минуту до полудня

* * * 1,2,3 *                     Каждую минуту в январе, феврале и марте

* * * Jan,Feb,Mar *               Каждую минуту в январе, феврале и марте

0 0 * * *                         Каждый день в полночь

0 0 * * 3                         Каждую среду в полночь

Пользователи nnCron LITE могут использовать в первых четырех полях cron-формата нестандартный символ - ?. Он означает время старта nnCron, т. е. при обработке поля знак вопроса будет заменен на время старта nnCron LITE: минуты - для поля минут, час для поля часов, день месяца для поля дней месяца и месяц для поля месяца.

Например, если написать:
? ? * * *

то задача сработает в момент старта nnCron LITE и продолжит срабатывать ежедневно в это же
самое время (если, конечно, пользователь не перезагрузит nnCron LITE снова) - знаки вопроса "заменятся" на время старта nnCron LITE. Если nnCron LITE стартовал, например, в 8:25, то знаки вопросов заменятся так:
25 8 * * *

Вот еще несколько примеров:
# запустится _только_ при старте nnCron LITE
? ? ? ? *
# запустится при старте nnCron LITE (например, в 10:15) 
# и продолжит запускаться ровно через один час: 
# в 11:15, 12:15, 13:15 и т. д.
? * * * *
# будет запускаться ежеминутно, в час старта nnCron LITE. 
# На следующий день (если крон не перезапускался) 
# в этот же час каждую минуту и т. д.
* ? * * *
# будет запускаться ежедневно, раз в пять минут, 
# в час старта nnCron LITE  
*/5 ? * * *

   
 
 автор: Doka   (15.01.2007 в 07:34)   письмо автору
 
   для: cheops   (15.01.2007 в 00:24)
 

Спасиб. Буду разбиратся.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования