PDA

Просмотр полной версии : Cron job каждые 35 минут



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

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

и так далее.

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

Oscar
19.05.2005, 17:55
Мне подсказали в другом месте:

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


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

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

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

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

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

UUU
20.05.2005, 11:29
Блин, задача вообще интересная, т.к. сутки не кратны 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

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


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

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

Не знаю, чему там что будет равно, но оно работает!
Раз в 35 минут.

chur
23.05.2005, 12:15
Oscar, наверно, у тебя cron какой-то продвинутый.
У меня если в crontab: */35 * * * * ..., то время выполнения соответственно:
[23.05.2005 09:35:00]
[23.05.2005 10:00:00]
[23.05.2005 10:35:00]
[23.05.2005 11:00:00]