Страница 1 из 2

Cron job каждые 35 минут

Добавлено: 17 апр 2005, 16:39
Oscar
В crontab можно прописать, чтобы задание стартовала каждый час в 35 минут.
А есть ли возможность настроить крон так, чтобы задание стартовало каждые 35 минут?

То есть в
00:00
00:35
01:10
01:45
02:20

и так далее.

Добавлено: 18 май 2005, 13:39
UUU
Имхо, только кратно 60, вернее, чтобы 60 на твой диапазон делился без остатка. Либо прогу писать. :-(

Добавлено: 19 май 2005, 17:55
Oscar
Мне подсказали в другом месте:

*/35 вместо тех цифр первых


Надеюсь, что это правильно ))

Добавлено: 19 май 2005, 18:39
chur
Так это и будет каждый час в 35 минут.

Добавлено: 19 май 2005, 18:49
Oscar
chur, если ты в этом уверен - то ... Абыдна, аднака )))

Добавлено: 20 май 2005, 08:16
UUU
Ну-ну, */35.
Давайте посмотрим, что будет. Это число будет равно целому только при 0 минутах и 35 минутах. Вот в это время оно запускаться и будет. Каждый час.

Добавлено: 20 май 2005, 10:43
chur
Да, нолик я упустил, но это все равно не то, что Oscar хотел.

Добавлено: 20 май 2005, 11:29
UUU
Блин, задача вообще интересная, т.к. сутки не кратны 35 минутам.
По крайней мере не хватает еще условия "начало отсчета каждый день 0 часов 0 минут".

Советую писать прогу, которая будет запускаться каждые */7 минут по крону и уже сама будет проверять, надо дальше идти, или exit.
Внутри проги, имея секунды с начала дня посчитать кратность - никаких проблем.

Можно еще прописать:
*/30 /7
5 4,11,18
10 1,8,15,22
15 5,12,19
20 2,9,16,23

И далее в том же духе.

25 6,13,20


30 3,10,17

Добавлено: 20 май 2005, 12:56
chur
Почему */7, наверно */5.
Проще своего демона запустить.

Код: Выделить всё

use constant TIMETOSLEEP => 35 * 60;
my $timetosleep = TIMETOSLEEP;
while(1) {
  sleep $timetosleep;
  $timetosleep = time;
  system ( .....);
  $timetosleep += (TIMETOSLEEP - time);
}

Добавлено: 21 май 2005, 20:10
Oscar
UUU писал(а):Ну-ну, */35.
Давайте посмотрим, что будет. Это число будет равно целому только при 0 минутах и 35 минутах. Вот в это время оно запускаться и будет. Каждый час.
Не знаю, чему там что будет равно, но оно работает!
Раз в 35 минут.