Уважаемые пользователи,я не могу справиться и понять следующую проблему:
есть 2 cronJob:
0 7 3-27 * 1-5 /home/oracle/testCron.sh >> /home/oracle/testCron.log
0 7 3-27 * 6 /home/oracle/testCron2.sh >> /home/oracle/testCron.logзадумано так, что первая должна работать с понедельника по пятницу (3-27 числа),
а вторая только в субботу.Но почему то они срабатывают каждый день обе, причем и на солярисе и на линуксе:
> CMD: /home/oracle/testCron2.sh >> /home/oracle/testCron.log
> oracle 28353 c Wed Dec 16 07:00:00 2009
> CMD: /home/oracle/testCron.sh >> /home/oracle/testCron.log
> oracle 28354 c Wed Dec 16 07:00:00 2009В чем тут дело? Я никак не могу понять!
Ведь в документации написано:crontab Entry Format
A crontab file consists of lines of six fields each. The
fields are separated by spaces or tabs. The first five are
integer patterns that specify the following:minute (0-59),
hour (0-23),
day of the month (1-31),
month of the year (1-12),
day of the week (0-6 with 0=Sunday).Each of these patterns can be either an asterisk (meaning
all legal values) or a list of elements separated by commas.
An element is either a number or two numbers separated by a
minus sign (meaning an inclusive range). Time specified here
is interpreted in the timezone of the cron(1M) daemon, which
is set system-wide in /etc/default/init. Entries do not use
the invoking user's timezone.Особенно это:
The specification of days can
be made by two fields (day of the month and day of the
week). Both are adhered to if specified as a list of ele-
ments. See EXAMPLES.Пример:
This example runs a command on the first and fifteenth of
each month, as well as on every Monday:0 0 1,15 * 1
Помогите пожалуйста разобраться!
Спасибо большое!
>[оверквотинг удален]
> ments. See EXAMPLES.
>
>Пример:
> This example runs a command on the
>first and fifteenth of
> each month, as well as on every
>Monday:
>
> 0 0 1,15 * 1
>Словарик купить, англицко-русский. Тут же ясно написано: 1 и 15 числа, а также каждый понедельник.
Соответственно, Ваши
>0 7 3-27 * 1-5 /home/oracle/testCron.sh >> /home/oracle/testCron.log
>0 7 3-27 * 6 /home/oracle/testCron2.sh >> /home/oracle/testCron.logбудут исполняться в любой день с 3 по 27, А ТАКЖЕ в 1-5 дни недели / в 6 день недели, соответственно.
>
>
>Помогите пожалуйста разобраться!
>
>Спасибо большое!
Спасибо за комментарий и совет купить англицко-русский словарик, но
пример был вырезан из manual'а, т.к. он похож на мою задачу:с 3 по 27 число каждого месяца, с понедельника по пятницу - testCron.sh
с 3 по 27 число каждого месяца, только в субботу - testCron2.shСегодня 16 декабря, среда - я ожидаю запуск только testCron.sh,
но запускаются обе задачи - Почему?
я описал свою пробему: мне над
>[оверквотинг удален]
>будут исполняться в любой день с 3 по 27, А ТАКЖЕ в
>1-5 дни недели / в 6 день недели, соответственно.
>
>
>
>>
>>
>>Помогите пожалуйста разобраться!
>>
>>Спасибо большое!
Только сейчас начинает доходить.Так ли это, что условия по дням (day of month и day of week) выполняются по OR?
То есть для True нужно, что бы совпало либо day of month либо day of week получается?
Это катастрофа тогда :(
This example runs a command on the first and fifteenth of
each month, as well as on every Monday:0 0 1,15 * 1
пеервод
Это екзампел запускает задачу в 1 и 15 число, а также КАЖДЫЙ ПОНЕДЕЛЬНЕГ!
это не катастрофа :
1) man date - выводи дату в нудном формате
2) в начала скрипта делаем преверку даты элементарными if/fi
>[оверквотинг удален]
> 0 0 1,15 * 1
>
>пеервод
>
>Это екзампел запускает задачу в 1 и 15 число, а также КАЖДЫЙ
>ПОНЕДЕЛЬНЕГ!
>
>это не катастрофа :
>1) man date - выводи дату в нудном формате
>2) в начала скрипта делаем преверку даты элементарными if/fiСпасибо большое за совет !
Реализовал с помошью date + caseСпасибо!