# Crontab - interpretacja wpisów

**URL:** <https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102>\
**Category:** Skrypty, porady i tutoriale\
**Created:** [1 Listopad 2021 07:02 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102 "2021-11-01T07:02:31Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Autor:** ![wiini](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/wiini/32/138_2.png) [@wiini](https://forum.manjaro.pl/u/wiini)\
**Data wpisu:** [1 Listopad 2021 07:02 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102/1 "2021-11-01T07:02:31Z")

</div>

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.

---

<div class="post-metadata">

**Autor:** ![Tomek](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/tomek/32/3834_2.png) [@Tomek](https://forum.manjaro.pl/u/Tomek)\
**Data wpisu:** [1 Listopad 2021 08:32 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102/2 "2021-11-01T08:32:43Z")

</div>

Z `man 5 crontab`:

```auto
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.

---

<div class="post-metadata">

**Autor:** ![wiini](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/wiini/32/138_2.png) [@wiini](https://forum.manjaro.pl/u/wiini)\
**Data wpisu:** [1 Listopad 2021 08:36 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102/3 "2021-11-01T08:36:33Z")

</div>

Właśnie to samo przeczytałem ( nie znam angielskiego i muszę przez translator więc dłużej to trwa) 🙂 . 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.

---

<div class="post-metadata">

**Autor:** ![Tomek](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/tomek/32/3834_2.png) [@Tomek](https://forum.manjaro.pl/u/Tomek)\
**Data wpisu:** [1 Listopad 2021 09:24 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102/4 "2021-11-01T09:24:54Z")

</div>

> [@wiini](#):
>
> 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:

```bash
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 😉

---

<div class="post-metadata">

**Autor:** ![wiini](https://forum.manjaro.pl/user_avatar/forum.manjaro.pl/wiini/32/138_2.png) [@wiini](https://forum.manjaro.pl/u/wiini)\
**Data wpisu:** [1 Listopad 2021 09:55 UTC](https://forum.manjaro.pl/t/crontab-interpretacja-wpisow/2102/5 "2021-11-01T09:55:25Z")

</div>

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