4 sposoby na sprawdzenie, czy cron działa w systemie Linux
cron to program do planowania zadań dla systemów operacyjnych Linux i Unix. Jest preinstalowany we wszystkich dystrybucjach Linuksa i jest najbardziej odpowiedni do automatyzacji powtarzalnych zadań.
Aby Cron działał skutecznie, ważne jest, aby regularnie sprawdzać, czy narzędzie działa poprawnie w systemie. Istnieje kilka metod, za pomocą których można to osiągnąć, takich jak sprawdzanie stanu usługi Cron, przeglądanie plików dziennika związanych z Cronem, wykonywanie symulowanego zadania Cron i wyliczanie aktualnie aktywnych procesów w systemie.
Co to jest cron?
Cron jest ukrytym koniem roboczym, który autonomicznie zarządza i planuje procesy systemowe. Ten harmonogram zadań umożliwia użytkownikom, którzy nadzorują i utrzymują ekosystemy oprogramowania, organizowanie powtarzających się czynności, takich jak instrukcje wiersza poleceń lub programy skryptowe na z góry określonej osi czasu lub w określonych odstępach czasu.
Cron to narzędzie do planowania, które umożliwia automatyzację powtarzalnych zadań konserwacyjnych i administracyjnych, które mogą być wymagane często w celu uzyskania optymalnej wydajności.
Istnieje kilka implementacji Crona dla systemów Linux, a ich dostępność zależy od konkretnej dystrybucji. Na przykład, szeroko stosowany “Vixie cron” - który bierze swoją nazwę od jego twórcy, Paula Vixie - jest powszechny i służy jako domyślna opcja dla dystrybucji takich jak Debian i Ubuntu. Z kolei system operacyjny Arch decyduje się na wykorzystanie timerów systemd zamiast tradycyjnej implementacji Crona.
Cronie jest alternatywną implementacją narzędzia do planowania czasu cron Vixie, które można łatwo uzyskać za pośrednictwem repozytorium pakietów Arch Linux, korzystając z menedżera pakietów Pacman. Aby zainstalować Cronie w systemie, można wykonać polecenie “pacman -S cronie” w terminalu lub środowisku powłoki.
sudo pacman -S cronie
Następnie uruchom i włącz go za pomocą:
sudo systemctl start cronie.service
sudo systemctl enable cronie.service
Aby określić wersję crona aktualnie zainstalowaną w systemie, można odwołać się do jego strony podręcznika, używając polecenia “man cron”. Dostarczy to informacji dotyczących konkretnej wersji i funkcji dostępnych dla danej instalacji crona.
man cron
Jak sprawdzić, czy cron działa w systemie Linux
Aby upewnić się, czy narzędzie cron działa poprawnie, istnieje kilka metod weryfikacji.
Sprawdź status usługi cron w systemie Linux
Aby sprawdzić, czy usługa cron działa poprawnie, można użyć podstawowego polecenia systemu Linux z terminala. Aby uzyskać dostęp do terminala, naciśnij “Ctrl \ + Alt \ + T” na klawiaturze, a następnie zastosuj polecenie “systemctl”, aby ocenić stan crona.
sudo systemctl status cron
Wskazując na pomyślne działanie, obecność wyżej wymienionych danych wyjściowych oznacza, że narzędzie cron działa poprawnie w ramach ograniczeń środowiska komputerowego.
Co jednak dzieje się, gdy Cron znajduje się w stanie uśpienia, takim jak przedstawiony poniżej?
Usługę można uruchomić w następujący sposób:
sudo systemctl start cron.service
Aby upewnić się, że usługa cron uruchamia się automatycznie po ponownym uruchomieniu systemu, należy wykonać następujące kroki po zainicjowaniu jej działania:
sudo systemctl enable cron.service
Check cron Logs on Linux
Alternatywna metoda weryfikacji poprawności działania demona cron polega na sprawdzeniu powiązanych z nim plików dziennika, które zazwyczaj znajdują się w katalogu /var/log/syslog w systemie Linux.
Syslog to standaryzowany protokół komunikacyjny wykorzystywany przez systemy oparte na Linuksie do konsolidacji danych dziennika zdarzeń w centralnym repozytorium. Ta agregacja dzienników ułatwia różne istotne operacje IT, takie jak przeprowadzanie audytów, wdrażanie technik monitorowania i oceny wydajności, rozwiązywanie problemów poprzez rozwiązywanie problemów, generowanie raportów i wykonywanie innych powiązanych czynności konserwacyjnych.
Aby uzyskać dostęp do dziennika systemowego zawierającego rekordy zadań cron, można wykonać określone polecenie w następujący sposób:
grep 'cron' /var/log/syslog
Należy spodziewać się identycznego ekranu potwierdzającego prawidłowe działanie demona cron, a także fakt, że jego dzienniki są rejestrowane w wyznaczonym pliku dziennika:
Aby wyizolować i przeanalizować dzienniki specyficzne dla crona w bardziej kompleksowych dziennikach systemowych przechowywanych w folderze syslog, może to być trudne ze względu na obecność dodatkowych wpisów w dzienniku niezwiązanych z zadaniami cron. Aby obejść ten problem, podejście polegające na utworzeniu dedykowanego pliku dziennika zawierającego wyłącznie wpisy cron wyodrębnione z pliku syslog może okazać się korzystne dla skutecznego badania i analizy pożądanych informacji.
W tej ilustracji wykorzystamy edytor tekstu nano jako model, ale możesz użyć dowolnej aplikacji, którą uznasz za odpowiednią do swoich celów.
Otwórz następujący plik za pomocą nano:
nano /etc/rsyslog.d/50-default.conf
Znajdź linię zaczynającą się od:
#cron.*
Usuń symbol “#” z poniższego wiersza, aby go odkomentować, i postępuj zgodnie z kolejnymi instrukcjami, aby zapisać i zamknąć plik przy użyciu określonych skrótów klawiaturowych.
Aby ponownie uruchomić usługę rsyslog, można wykonać następujące polecenie w terminalu lub wierszu polecenia:csssudo systemctl restart rsyslog.service
sudo service rsyslog restart
Pliki dziennika dla zaplanowanych zadań będą przechowywane w katalogu /var/log
, w szczególności w pliku cron.log
.
Jeśli interfejs pobierania dziennika systemu ma trudności z uzyskaniem zapisów działań wykonywanych przez narzędzie do planowania znane jako “cron”, może to oznaczać, że ten konkretny harmonogram zadań jest obecnie uśpiony. Aby sprawdzić, czy cron działa poprawnie, można zastosować alternatywne metody sprawdzania jego działania.
Uruchamianie zadania cron w systemie Linux
Jednym ze sposobów sprawdzenia, czy funkcja cron w systemie działa skutecznie, jest utworzenie prostego testowego zadania cron i wykonanie go. Jeśli zadanie pomyślnie wykona wyznaczone zadanie, oznacza to, że funkcja cron działa zgodnie z przeznaczeniem.
Aby wykonać serię poleceń po kolei, konieczne jest napisanie skryptu Bash, który umożliwia automatyzację powtarzalnych czynności w systemie operacyjnym Linux za pomocą technik programowania.
Aby wygenerować plik tekstowy potwierdzający funkcjonalność zaplanowanego zadania w formie skryptu Bash, zainicjujemy proces poprzez określenie bieżącego katalogu roboczego poprzez wykonanie określonego polecenia.
pwd
Aby utworzyć nowy plik w istniejącym katalogu, można użyć polecenia “touch”, a następnie podać żądaną nazwę pliku bez argumentu. Spowoduje to wygenerowanie pustego pliku o określonej nazwie w bieżącej lokalizacji.
touch file.txt
Następnie zaleca się wygenerowanie skryptu Bash przy użyciu edytora tekstu 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ś dokładną pozycję wygenerowanego pliku tekstowego. Zakończ pracę, naciskając “Ctrl \ + X”, a następnie “Y”, a następnie naciskając klawisz “Enter” na klawiaturze.
Nadaj uprawnienia wykonywania skryptowi Bash:
chmod \\+x script.sh
Aby utworzyć zaplanowane zadanie do wykonania skryptu, należy uzyskać dostęp do pliku zadania cron i edytować go za pomocą następującego polecenia w terminalu lub wierszu polecenia:
crontab -e
Na zakończenie tego dokumentu uprzejmie prosimy o wstawienie następującego oświadczenia.
* * * * * /path/to/script.sh
Data wygaśnięcia elementu konfiguracji jest reprezentowana przez pięć gwiazdek, z których każda odpowiada innym aspektom jego ważności. W szczególności pierwsza gwiazdka oznacza minutę (od 0 do 59), podczas gdy druga gwiazdka oznacza godzinę (reprezentującą pełny cykl 24-godzinny, tak że 13:00 odpowiada 13, a północ zaczyna się od 0). Trzecia gwiazdka symbolizuje dzień tygodnia, w zakresie od 0 do 6, gdzie zarówno 0, jak i 6 oznaczają niedzielę. Czwarta gwiazdka odnosi się do miesiąca, od 0 do 7, gdzie 0 oznacza styczeń, a 7 lipiec. Wreszcie piąta gwiazdka oznacza rok
Plik zawiera informacje dotyczące nazwy pliku i odpowiadającej mu ścieżki do katalogu.
Po zakończeniu zadania zapisywania i zamykania dokumentu można zauważyć powiadomienie wyświetlane w interfejsie wiersza poleceń, które brzmi “zainstalowano zadanie cron”.
Aby sprawdzić, czy zaplanowane zadanie zostało pomyślnie wykonane, przejdź do lokalizacji, w której przechowywany jest plik “file.txt” i wyświetl jego zawartość w konsoli za pomocą polecenia “cat”.
cat file.txt
Oznacza to, że cron działa poprawnie.
Check Running Processes on Linux
Alternatywna metoda sprawdzenia, czy demon cron działa skutecznie, polega na sprawdzeniu listy aktualnie aktywnych procesów w systemie operacyjnym. Można to osiągnąć poprzez wykorzystanie polecenia “ps”, które wyświetla informacje o wszystkich uruchomionych procesach. W takim wyliczeniu demon cron pojawi się pod nazwą “crond.
ps aux | grep cron
Powyższa weryfikacja potwierdza działanie procesu cron w systemie operacyjnym Linux.
Automatyzacja i planowanie zadań systemowych za pomocą crona
Cron jest kluczowym narzędziem w systemie operacyjnym Linux, które umożliwia jego optymalne funkcjonowanie. Czasami, podczas rozwiązywania problemów systemowych, może być konieczne sprawdzenie, czy Cron działa.
Aby upewnić się, czy usługa cron działa poprawnie, dostępnych jest kilka metod. Jedną z opcji jest sprawdzenie plików dziennika aktywności crona za pomocą narzędzi wiersza poleceń, takich jak “log” lub “grep”. Dodatkowo, można sprawdzić listę aktualnie aktywnych procesów w systemie za pomocą narzędzi takich jak “ps” lub “top”, które wyświetlą informacje o wszelkich zaplanowanych zadaniach wykonywanych w danej chwili. Co więcej, narzędzie znane jako “systemctl” może być wykorzystane do weryfikacji stanu operacyjnego crona poprzez obserwację jego aktualnego statusu.Wreszcie, próba wykonania testowego zadania cron może zapewnić wgląd w to, czy jest ono funkcjonalne i zdolne do działania zgodnie z przeznaczeniem.
Cron to narzędzie, które umożliwia automatyczne wykonywanie poleceń lub skryptów w określonych odstępach czasu, ułatwiając płynne zarządzanie codziennymi zadaniami systemowymi. Wiele z tych zadań jest generowanych przez instalacje oprogramowania, co dodatkowo usprawnia procesy administracyjne. Dzięki automatyzacji i planowaniu rutynowych operacji można zoptymalizować zarówno wydajność, jak i stabilność systemu, przyczyniając się do ogólnej poprawy wydajności.