4 sposoby sprawdzenia, czy cron działa w systemie Linux

cron to harmonogram zadań dla systemów operacyjnych Linux i Unix. Jest preinstalowany we wszystkich dystrybucjach Linuksa i najlepiej nadaje się do automatyzacji powtarzalnych zadań.

Aby cron działał prawidłowo, należy okresowo sprawdzać, czy narzędzie działa prawidłowo w systemie. Możesz to zrobić na cztery różne sposoby, w tym sprawdzając status usługi cron, sprawdzając dzienniki cron, uruchamiając testowe zadanie cron i wyświetlając listę uruchomionych procesów w systemie.

Co to jest cron?

Cichy moduł obsługi zadań, cron, automatyzuje i planuje zadania systemowe. Użytkownicy konfigurujący i konserwujący środowiska oprogramowania korzystają z cron do planowania zadań, takich jak polecenia lub skrypty powłoki — zwanych także zadaniami cron — tak, aby były uruchamiane okresowo w ustalonych porach lub odstępach czasu.

cron automatyzuje konserwację systemu lub zadania administracyjne, które możesz często wykonywać.

Istnieje kilka implementacji dostępnych w systemie Linux. Wersja, którą będziesz mieć, zależy od Twojej dystrybucji. „Vixie cron”, nazwany na cześć jego pierwotnego twórcy, Paula Vixie, jest powszechny i ​​domyślny w Debianie i Ubuntu. Arch nie ma żadnej wersji cron na korzyść timerów systemowych.

cronie to rozwidlenie cron Vixie dostępne jako standardowy pakiet Arch. Aby go zainstalować, użyj pacmana:

 sudo pacman -S cronie 

Następnie uruchom i włącz go za pomocą:

 sudo systemctl start cronie.service
sudo systemctl enable cronie.service

Możesz sprawdzić, która wersja crona jest zainstalowana w twoim systemie, przeglądając jego stronę podręcznika:

 man cron 

Jak sprawdzić, czy cron działa w systemie Linux

Oto kilka sposobów sprawdzenia, czy cron działa poprawnie:

1. Sprawdź status usługi cron w systemie Linux

Jednym ze sposobów sprawdzenia, czy cron działa, jest sprawdzenie statusu usługi cron poprzez uruchomienie podstawowego polecenia systemu Linux. Otwórz terminal Linux, naciskając Ctrl + Alt + T i użyj polecenia systemctl, aby sprawdzić status cron:

 sudo systemctl status cron 

Jeśli zobaczysz następujące dane wyjściowe, oznacza to, że cron jest aktywny i działa poprawnie w twoim systemie.

Ale co, jeśli cron jest w stanie nieaktywnym, jak pokazano poniżej?

Możesz uruchomić usługę w ten sposób:

 sudo systemctl start cron.service 

Po uruchomieniu usługi cron włącz ją, aby uruchamiała się przy każdym ponownym uruchomieniu systemu:

 sudo systemctl enable cron.service 

2. Sprawdź dzienniki cron w systemie Linux

Innym sposobem sprawdzenia, czy cron działa poprawnie, jest sprawdzenie plików dziennika. dzienniki cron są przechowywane w katalogu /var/log/syslog w systemie Linux.

syslog to protokół używany przez systemy Linux do centralizacji dzienników danych zdarzeń. Dostęp do dzienników jest następnie uzyskiwany w celu przeprowadzania audytów, monitorowania, rozwiązywania problemów, raportowania i innych niezbędnych zadań operacyjnych IT.

Dzienniki zadań cron można wyświetlić w pliku syslog, wykonując następujące polecenie:

 grep 'cron' /var/log/syslog 

Zobaczysz podobny wynik wskazujący, że cron działa poprawnie, a jego logi są przechowywane w pliku dziennika:

Ponieważ folder syslog zawiera inne dzienniki systemowe wraz z dziennikami cron, sprawdzenie w pliku tylko dzienników związanych z cron może być nieco trudne. Można rozwiązać ten problem, tworząc oddzielny plik dziennika, w którym przechowywane są tylko wpisy cron pojawiające się w pliku syslog.

W tym przykładzie użyjemy edytora nano, ale możesz użyć dowolnego edytora, z którym czujesz się komfortowo.

Otwórz następujący plik za pomocą nano:

 nano /etc/rsyslog.d/50-default.conf 

Znajdź linię zaczynającą się od:

 #cron.* 

Odkomentuj tę linię, usuwając znak krzyżyka (#). Następnie zapisz i wyjdź z pliku, naciskając Ctrl + X, a następnie naciśnij Y i naciśnij Enter.

Uruchom ponownie usługę rsyslog, wydając to polecenie:

 sudo service rsyslog restart 

Będziesz teraz otrzymywać logi w pliku cron.log znajdującym się w katalogu /var/log.

Jeśli terminal nie pobierze żadnych dzienników, może to oznaczać, że cron nie działa. W takim przypadku sprawdź, czy cron działa, czy nie używa innych metod.

3. Uruchamianie zadania cron w systemie Linux

Możesz także sprawdzić, czy cron działa, po prostu tworząc testowe zadanie cron i uruchamiając je. Jeśli zadanie pomyślnie wykona zadanie, oznacza to, że działa prawidłowo.

Najpierw musisz utworzyć skrypt Bash. Skrypty Bash umożliwiają automatyzację codziennych zadań w systemie Linux.

Stwórzmy skrypt Bash, który wypisze „moje cronjob działa!” do pliku TXT. Aby utworzyć plik, najpierw znajdź swój bieżący katalog roboczy za pomocą tego polecenia:

 pwd 

Utwórz plik w bieżącym katalogu za pomocą polecenia touch:

 touch file.txt 

Następnie utwórz plik Bash za pomocą nano:

 nano script.sh 

Dodaj następującą zawartość do pliku:

 #! /usr/bin/bash
echo "my cronjob is working!" >> /home/username/file.txt

Upewnij się, że podałeś poprawną lokalizację utworzonego pliku tekstowego. Zapisz i wyjdź z pliku, naciskając Ctrl + X, następnie Y i naciśnij Enter.

Nadaj uprawnienia do wykonywania skryptowi Bash:

 chmod +x script.sh 

Teraz utwórz zadanie cron, aby wykonać skrypt. Aby to zrobić, otwórz plik crontab za pomocą:

 crontab -e 

Wpisz następujący wiersz na końcu pliku.

 * * * * * /path/to/script.sh 

Pięć gwiazdek odpowiada czasowi wykonania, przy czym pierwsza gwiazdka oznacza minuty (0-59), druga oznacza godziny (w formacie 24-godzinnym, zatem godzina 13:00 to 13, północ zaczyna się od 0), trzecia gwiazdka oznacza dzień (0-7, 0 i 7 to niedziela), czwarta oznacza miesiąc, a ostatnia gwiazdka oznacza rok.

Nazwa pliku wykonywalnego i jego ścieżka są również wymienione w pliku.

Po zapisaniu i zamknięciu pliku na terminalu pojawi się komunikat „crontab: instalowanie nowego crontab”.

Aby sprawdzić, czy zadanie cron zadziałało, przejdź do katalogu plik.txt i wydrukuj jego zawartość na terminalu za pomocą cat:

 cat file.txt 

Oznacza to, że cron działa poprawnie.

4. Sprawdź uruchomione procesy w systemie Linux

Innym sposobem sprawdzenia, czy demon cron działa, jest wypisanie uruchomionych procesów w systemie. Można to osiągnąć za pomocą polecenia ps. Demon cron pojawi się na wyjściu jako crond.

 ps aux | grep cron 

Potwierdza to, że proces cron działa w systemie Linux.

Automatyzuj i planuj zadania systemowe za pomocą cron

cron to jedno z najważniejszych narzędzi w systemie Linux, które umożliwia wydajne działanie systemu. Czasami podczas rozwiązywania problemów z systemem trzeba sprawdzić, czy cron działa.

Możesz to osiągnąć, sprawdzając dzienniki cron lub sprawdzając uruchomione procesy w systemie. Możesz także sprawdzić status cron za pomocą narzędzia systemctl. Poza tym uruchomienie testowego zadania cron może również powiedzieć, czy usługa działa, czy nie.

Płynne działanie cron pozwala zautomatyzować i zaplanować codzienne zadania systemowe. Większość zadań cron jest tworzona automatycznie przez zainstalowane aplikacje. Automatyzacja i planowanie zadań poprawia ogólną wydajność systemu i utrzymuje go w dobrym stanie.