LINUX.ORG.RU

crontab и пятница 13-ое

 ,


0

1

Доброго времени суток.

Можно ли сделать так, чтобы задание в crontab'е запускалось только определенного числа, в определенный день недели, к примеру только в пятницу, 13 числа?

Для тех, кто не понял в чем загвоздка, цитата из man 5 crontab:

Note: The day of a command's execution can be specified in the following two fields — 'day of month', and 'day of week'. If both fields are restricted (i.e., do not contain the «*» character), the command will be run when either field matches the current time.

Т.е. запись вида «0 0 13 * 5 rm -rf» выполнится не в пятницу 13-го, а в любую пятницу и каждого 13-го числа.

Deleted

1. Чем вы вообще руководствуетесь при наращении окончаний? Почему не написать 13-ринадцатое?
2. Напиши баш-скрипт с проверкой на тринадцатость и дёргай его по пятницам.

Goury ★★★★★
()

проверяйте каждую пятницу, не 13e ли число. или каждое 13е число не пятница ли.

arto ★★
()

Всё таки логичней проверять проверять 1 раз в месяц, вместо 4-5 раз.
Таким образом подытожим всё вышесказанное.

0 0 13 * * [ `date +%u` -eq 5 ] && rm -rf
surefire ★★★
()
Ответ на: комментарий от surefire

ммм.... отладка кронтаба из-за неэкранированных скобочек. особый вид мазохизма, сравнимый разве что с регекспами.

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

Скобки не надо экранировать, а вот % надо. Надо так %%

anonymous
()
Ответ на: комментарий от surefire

Я, в принципе, так и думал сделать.

Всем спасибо.

Deleted
()

Ты может запускать каждую пятницу скрипт-обертку, и уже в нем проверять 13 ли сегодня число. Оверхед будет небольшой.

anonymous
()
Ответ на: комментарий от anonymous

Если запускать каждого 13-го числа раз в месяц, и проверять не пятница ли это — оверхед будет в 4 раза меньше.

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