LINUX.ORG.RU

Crontab


0

0

Уважаемые пользователи,

я не могу справиться и понять следующую проблему:

есть 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

Помогите пожалуйста разобраться!

Спасибо большое!


у тебя задания будут выполняться каждый день с 3 по 27 и, дополнительно, с понедельника по пятницу.

убери указание дня месяца, и обрабатывай это значение в самом скрипте

ananas ★★★★★
()

А какой именно крон стоит? Например в fcron так:

If a day of month and a day of week are given, the command will execute only when both match with the current time and date unless option dayor is set.

Nao ★★★★★
()
Ответ на: комментарий от ananas

Cпасибо! имелось недопонимание, сейчас реализовал это с date+case

Igorek
() автор топика
Ответ на: комментарий от Nao

Стоит обычный крон.

Тут проверяется день месяца и день недели через OR, а не через AND по этому и такой результат был

Igorek
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.