Jak wyświetlić i wyświetlić listę zadań Cron przy użyciu Crontab
W tym artykule wyjaśnimy, jak wyświetlać i wyświetlać zadania cron za pomocą polecenia crontab, pomagając w efektywnym zarządzaniu zaplanowanymi zadaniami.
Co to jest Crontab?
Crontab (skrót od “cron table”) to plik, który definiuje zaplanowane zadania w systemie cron. Każdy użytkownik w systemie, w tym użytkownik root, może mieć własny crontab, który określa zadania, które chce zautomatyzować.
Plik crontab składa się z zadań cron w następującej składni:
* * * * command_to_be_executed
| | | | |
| | | | | ----- dzień tygodnia (0 - 7) (niedziela=0 lub 7)
| | ---------- miesiąc (1 - 12)
| | --------------- dzień miesiąca (1 - 31)
| -------------------- godzina (0 - 23)
------------------------- minuta (0 - 59)
Taka struktura umożliwia precyzyjną kontrolę nad czasem wykonywania zadań, czyniąc cron potężnym narzędziem automatyzacji.
Jak wyświetlić listę zadań Cron za pomocą Crontab
Do zarządzania zadaniami cron służy polecenie crontab. Oto jak wyświetlić zadania cron dla określonego użytkownika lub systemu.
1. Wyświetlanie własnych zadań cron
Aby wyświetlić zadania cron bieżącego użytkownika, uruchom następujące polecenie w terminalu:
crontab -l
Spowoduje to wyświetlenie wszystkich zaplanowanych zadań dla użytkownika aktualnie zalogowanego do systemu. Jeśli nie ma żadnych zadań cron, polecenie zwróci pustą listę lub komunikat informujący, że nie ma crontab dla użytkownika.
Przykładowe wyjście:
# m h dom mon dow command
0 0 * * * /home/user/backup.sh
30 2 * * 7 /home/user/scripts/cleanup.sh
W tym przykładzie:
- Skrypt kopii zapasowej) jest uruchamiany codziennie o północy.
(backup.sh
- Skrypt czyszczenia) jest uruchamiany w każdą niedzielę o godzinie 2:30.
(cleanup.sh
2. Wyświetlanie zadań Cron dla innego użytkownika
Jeśli masz uprawnienia root lub sudo, możesz wyświetlić zadania cron dla dowolnego użytkownika, używając flagi
-u
sudo crontab -l -u username
Zastąp nazwę użytkownika rzeczywistą nazwą użytkownika, którego zadania cron chcesz zobaczyć.
Na przykład, aby wyświetlić listę zadań cron dla użytkownika o nazwie john, uruchom:
sudo crontab -l -u john
Spowoduje to wyświetlenie wszystkich zaplanowanych zadań cron dla tego użytkownika.
3. Wyświetlanie systemowych zadań Cron
Oprócz zadań cron specyficznych dla użytkownika, istnieją systemowe zadania cron, które są zaplanowane przez system lub użytkownika root. Są one przechowywane w katalogach takich jak /etc/crontab, /etc/cron.d/ i katalogu /var/spool/cron/crontabs.
Aby wyświetlić listę systemowych zadań cron, można otworzyć i wyświetlić plik /etc/crontab:
cat /etc/crontab
Wynik może wyglądać następująco:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin#
m h dom mon dow polecenie użytkownika17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
W tym przykładzie:
- zadania uruchamiane są w 17 minucie każdej godziny.
/etc/cron.hourly
- zadaniauruchamiane są codziennie o 6:25 rano.
/etc/cron.daily
- zadaniauruchamiane są w każdą niedzielę o 6:47.
/etc/cron.weekly
- uruchamia się pierwszego dnia każdego miesiąca o 6:52.
/etc/cron.monthly
Można również wyświetlić zadania w /etc/cron.d/ uruchamiając:
ls /etc/cron.d/
Każdy plik w tym katalogu może zawierać dodatkowe zadania cron dla usług systemowych.
4. Wyświetlanie zadań cron w katalogu /var/spool/cron/
Zadania cron specyficzne dla użytkownika są zazwyczaj przechowywane w katalogu /var/spool/cron/crontabs. Możesz przejść do tego katalogu i wyświetlić listę wszystkich plików zadań cron:
ls /var/spool/cron/crontabs
Spowoduje to wyświetlenie plików crontab dla każdego użytkownika. Aby wyświetlić zawartość crontab określonego użytkownika, można uruchomić:
cat /var/spool/cron/crontabs/username
Daje to taki sam wynik jak uruchomienie crontab -l -u username.
Edycja zadań Cron
Jeśli chcesz zmodyfikować lub dodać nowe zadania cron, możesz edytować crontab, uruchamiając:
crontab -e
Spowoduje to otwarcie crontaba w domyślnym edytorze tekstowym, umożliwiając dodawanie lub modyfikowanie istniejących zadań.
Na przykład, aby dodać nowe zadanie, które uruchamia skrypt codziennie o 3:00 rano, należy dodać tę linię:
0 3 * * * /home/user/script.sh
Po zapisaniu i zamknięciu pliku zadanie zostanie natychmiast zaplanowane.
Typowe polecenia listy Crontab
Oto krótkie odniesienie do listowania zadań cron w różnych scenariuszach:
- Lista zadań cron bieżącego użytkownika:
crontab -l
- Lista zadań cron innego użytkownika (wymaga sudo):
sudo crontab -l -u username
- Lista systemowych zadań cron:
cat /etc/crontab
- Lista wszystkich zadań cron w pliku:
/etc/cron.d/
ls /etc/cron.d/
- Wyświetlanie zadań cron zapisanych w:
/var/spool/cron/crontabs/
ls /var/spool/cron/crontabs
Wnioski
Wyświetlanie zadań cron za pomocą crontab jest prostym, ale potężnym sposobem zarządzania zaplanowanymi zadaniami w systemie uniksowym. Niezależnie od tego, czy zarządzasz własnymi zadaniami cron specyficznymi dla użytkownika, czy zautomatyzowanymi zadaniami w całym systemie, zrozumienie tych poleceń pomaga zapewnić, że zadania działają płynnie i na czas.
Dzięki opanowaniu crona można zautomatyzować powtarzalne zadania, utrzymywać kopie zapasowe i zapewnić spójne wykonywanie skryptów w całym środowisku.