Ten przewodnik przedstawia, w jaki sposób możesz stworzyć zadanie CRON, szczególnie takie, które wykonuje się w ostatnim dniu każdego miesiąca.
Praca z Cron Jobs
Musisz utworzyć plik crontab dla danego użytkownika, aby utworzyć zadanie CRON w Linux, UNIX lub MacOS. crontab Plik zawiera tabele z pięcioma polami, w których można określić datę i godzinę zadania CRON oraz pełną ścieżkę do skryptu lub polecenia do uruchomienia.
Składnia pliku crontab jest jak pokazana:
Minute Hour Date_of_Month Month Day_of_Week Command/ScriptUżyj poniższego polecenia, aby otworzyć plik Crontab:
$ crontab -eTutaj otworzyliśmy plik crontab dla bieżącego użytkownika. Jeśli chcesz zaplanować zadanie dla konkretnego użytkownika, użyj poniższej składni.
$ crontab -e -uPo otwartym pliku crontab możesz dodać zadanie CRON na dole.
Na przykład, jeśli musimy utworzyć zadanie CRON, które wykonuje każdy pierwszy dzień każdego miesiąca zadanie Cron byłoby tak, jak pokazano:
10 $ 10 1 * */ścieżka/do/skrypt.ciiPowyższe tworzy zadanie CRON, które wykonuje każdy 10:10 Każdy miesiąc pierwszego dnia.
Zaplanuj pracę CRON w ostatnim dniu każdego miesiąca
Określenie ostatniego dnia miesiąca może być trudne, jak w niektórych miesiącach 28, 29, 30, Lub 31 Jako ostatnia data. Poza tym pole dla Dzień miesiąca zajmuje określony dzień, a podanie listy możliwych dni wykonywałoby się w niepoprawnym dniu.
Sztuką jest określenie polecenia, które sprawdza, czy następny dzień jest pierwszym dniem miesiąca. Jeśli tak, oznacza to, że obecny dzień jest ostatnim tego miesiąca, a zadanie CRON może następnie wykonać.
Polecenie poniżej kontroluje i zwraca jutrzejszą datę:
$ data +%d -d jutroKorzystając z tej samej koncepcji, możemy stworzyć warunek, że jeśli jutro powróci data jutra 01-Oznacza to, że jest to pierwszy dzień, aby wykonać Cron.
Na przykład możemy określić polecenie, aby odzwierciedlić dane wyjście i sprawdzić, czy uruchomi się po dodaniu do pliku crontab. Zmodyfikujmy powyższe polecenie, jak pokazano poniżej:
$ [„$ (Data +\%d -d jutro)” = „01”] && echo „Tommorow to 1st”Teraz, zamiast polecenia wyświetlające dane wyjściowe, aby potwierdzić, że jutro jest pierwszy dzień miesiąca, możemy ustawić go, aby uruchomić naszą pracę CRON.
Nowe polecenie byłoby:
30 $ 13 28-31 * * [„$ (data +\%d -d jutro)” = „01”] &&/home/kyle/linuxhint.ciiPowyższe zadanie CRON działałoby w każdym 13:30 każdego ostatniego dnia miesiąca. Niezależnie od tego, czy ostatni dzień wynosi 28 29, 30, czy 31, wykona określony skrypt.
Zwróć uwagę, że wymieniamy możliwe daty każdego ostatniego dnia miesiąca i przystępujemy do polecenia, które sprawdza, czy jeśli następny dzień jest pierwszym dniem następnego miesiąca, wówczas bieżący dzień jest ostatnim miesiącem. Po potwierdzeniu wykonuje skrypt.
Wniosek
Ten przewodnik zaproponował praktyczny przewodnik po tym, jak zaplanować jeden, jeśli utknąłeś w planowaniu pracy CRON, która działa każdego dnia każdego miesiąca. Widzieliśmy, jak określić ostatni dzień dowolnego miesiąca i zaplanować pracę CRON.