URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 97075
[ Назад ]

Исходное сообщение
"cron не срабатывает в нужное время"

Отправлено Badaboom , 14-Дек-17 10:24 
приветствую
есть запись в cron
должна отрабатывать во вторую пятницу месяца
15 10 8-14 * 5 echo "run every friday"
на деле срабатывает _каждый день_
5 менял на FRI с тем же успехом
не могу понять в чём ошибка. прошу помощи у сообщества
система FreeBSD10.3

Содержание

Сообщения в этом обсуждении
"cron не срабатывает в нужное время"
Отправлено reader , 14-Дек-17 10:54 
а вот man с вашим "должна отрабатывать во вторую пятницу месяца" не согласен

"cron не срабатывает в нужное время"
Отправлено Badaboom , 14-Дек-17 11:04 
> а вот man с вашим "должна отрабатывать во вторую пятницу месяца" не
> согласен

таки да
Note: The day of a command's execution can be specified by two fields —
     day of month, and day of week.  If both fields are restricted (ie, are
     not *), the command will be run when either field matches the current
     time.  For example, ``30 4 1,15 * 5'' would cause a command to be run at
     4:30 am on the 1st and 15th of each month, plus every Friday.


"cron не срабатывает в нужное время"
Отправлено Andrey Mitrofanov , 14-Дек-17 12:06 
>> приветствую
>> есть запись в cron
>> должна отрабатывать во вторую пятницу месяца
> а вот man с вашим "должна отрабатывать во вторую пятницу месяца" не
> согласен

       # Run on every second Saturday of the month
       0 4 8-14 * *    test $(date +\%u) -eq 6 && echo "2nd Saturday"
4th Berkeley Distribution             19 April 2010                           CRONTAB(5)

"cron не срабатывает в нужное время"
Отправлено Badaboom , 14-Дек-17 16:43 
>[оверквотинг удален]
>> согласен
>
       # Run on every second 
> Saturday of the month
>        0 4 8-14 * *
>    test $(date +\%u) -eq 6 && echo "2nd
> Saturday"
4th Berkeley Distribution        

>     19 April 2010    
>            
>            
> CRONTAB(5)

спасибо за дополнение
как вариант ещё можно в скрипте делать проверку на день недели
if [ "$(date '+%u')" -eq 5 ]
then
...


"cron не срабатывает в нужное время"
Отправлено _ , 14-Дек-17 20:40 
>>[оверквотинг удален]
>>        0 4 8-14 * *     test $(date +\%u) -eq 6 && echo "2nd
>> CRONTAB(5)
> спасибо за дополнение
> как вариант ещё можно в скрипте делать проверку на день недели
> if [ "$(date '+%u')" -eq 5 ]
> then

Плохой вариант!
Захочешь ты скрипт в четверг вручную запустить и оппа! Айда код править? ORLY?! :)
В скрипте должно быть описано что и как делать. В кронтабе - кому и когда. ТЧК. Не привыкайте есть *оно, не нужно.
Disclaimer!: Life is shЫt, и иногда _приходится_ гланды через ...

И во вторых ... твой скрипт с вероятностью XYZ% - работать не будет :-)
А Андрейкин будет!!! 8-)

Почему - догадайся сам, но подсказка есть вверху :)


"cron не срабатывает в нужное время"
Отправлено _ , 14-Дек-17 20:51 
> И во вторых ... твой скрипт с вероятностью XYZ% - работать не будет :-)

Хотя не, это я про тебя совсем уж плохо думаю.