Wypróbowana składnia jest w rzeczywistości niejednoznaczna. W zależności od liczby dni w miesiącu, niektóre miesiące będą działać w dni nieparzyste, a niektóre w parzyste. Wynika to z tego, że sposób jego obliczenia bierze całkowitą liczbę możliwości i dzieli je. Możesz prześcignąć to zachowanie polegające na stosowaniu strategii, ręcznie określając zakres dni i używając nieparzystej lub parzystej liczby dni. Ponieważ skrypty parzyste nigdy nie uruchomią się w 31 dniu dłuższych miesięcy, nie tracisz niczego, używając 30 dni jako podstawy dla dni parzystych, a określając konkretnie podział, tak jakby były 31 dni, możesz wymusić nieparzyste -dniowa egzekucja.
Składnia wyglądałaby następująco:
# Will only run on odd days:
0 0 1-31/2 * * command
# Will only run on even days:
0 0 2-30/2 * * command
Twoja obawa, że miesiące nie będą miały takiej samej liczby dni, nie jest tutaj ważna, ponieważ żaden miesiąc nie ma WIĘCEJ dni niż ten, a dla biednego lutego zakres dat po prostu nigdy nie będzie pasował do ostatniego dnia lub dwóch, ale nie zaszkodzi to, że to wymienione.
Jedyną „gotcha” dla tego podejścia jest to, że jeśli jesteś w cyklu dnia nieparzystego, w następnych miesiącach z 31 dniami twoje polecenie będzie również działać pierwszego dnia miesiąca. Podobnie, jeśli wymuszasz cykl parzysty, każdy rok przestępny spowoduje jeden trzydniowy cykl i koniec lutego. Naprawdę nie można ominąć faktu, że jakikolwiek regularny wzorzec „co drugi dzień” nie zawsze będzie padał w parzyste lub nieparzyste dni w każdym miesiącu i w jakikolwiek sposób wymusisz to albo będziesz miał dodatkowy bieg, albo będzie go brakować między liczą się miesiące z niedopasowanym dniem.