Jak zaplanować pracę cron, aby uruchomić ostatni dzień każdego miesiąca

Jak zaplanować pracę cron, aby uruchomić ostatni dzień każdego miesiąca
Narzędzie Cron jest pomocnym narzędziem do automatyzacji zadań do działania przez określoną datę i godzinę. Na przykład możesz zautomatyzować pracę do uruchomienia każdego dnia miesiąca w danym momencie. Automatyzacja zadań to coś, czego nie można zrezygnować, zwłaszcza jako administrator. Może to być kopia zapasowa, którą musisz utworzyć do uruchamiania różnych scenariuszy. Aby uniknąć zapomnienia o uruchomieniu skryptów, najlepszą opcją jest modyfikacja pliku crontab i zaplanowanie zadań CRON, które będą działać bez Twojej interwencji.

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/Script

Użyj poniższego polecenia, aby otworzyć plik Crontab:

$ crontab -e

Tutaj 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 -u

Po 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.cii

Powyż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 jutro

Korzystają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.cii

Powyż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.