Crontab - interpretacja wpisów

Korzystam z crontaba od dość dawna, ale zwykle wpisy były proste i wszystko działało prawidłowo ( tzn. wg moich oczekiwań). Dzisiaj natomiast pełne zaskoczenie i chciałem poradzić się co do interpretacji wpisów. Czy wpis poniżej oznacza dane dni miesiąca jeśli to powszedni dzień tygodnia czy dane dni miesiąca oraz powszedni dzień tygodnia:
30 6 2-10,12-30 11 1-5 polecenie
wg tego co wyczytałem to powinno być jeśli, ale niestety mimo, że 1 listopada jest wykluczony w dniach miesiąca to i tak dzisiaj polecenie się wykonało.

Uzupełnienie:
po dogłębszym wczytaniu się w opisy wychodzi, że oznacza to oraz.
Szkoda.

Z 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  "*"  charac‐
       ter), 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.

Polecenie będzie się wykonywać gdy jeden z tych wpisów będzie pasować – tak więc w tym miesiącu również 11 listopada polecenie się wykona, bo to będzie czwartek i nie ma znaczenia, że 11 jest wykluczony w dniach miesiąca.

Właśnie to samo przeczytałem ( nie znam angielskiego i muszę przez translator więc dłużej to trwa) :slight_smile: . Trochę to bez sensu, ale co zrobić trzeba co roku z kalendarzem w ręku dopasowywać dni miesiąca do dni tygodnia i aktualizować wpisy jeśli chce się wykluczyć jakieś dni w miesiącu, ale żeby nie działało w weekendy.

Niekoniecznie – wpis w crontab może pozostać tak jak jest, wystarczy, że dodasz coś takiego na początku skryptu:

today=$(date +%d-%m)
if [[ $today == "01-11" ]] || [[ $today == "11-11" ]]
then
    exit 0
fi
RESZTA KODU

Skrypt się wykona, sprawdzi datę i jeśli będzie pasować, to zakończy działanie bez przechodzenia do właściwej części :wink:

1 polubienie

To jest rozwiązanie mojego problemu.
Ogromne dziękuję.
:beer: :beer: :beer: :beer: :beer:

1 polubienie