Jak wyświetlić i wylistować zadania Cron za pomocą Crontab
Narzędzie cron w systemach operacyjnych podobnych do Unix pozwala użytkownikom planować zadania (komendy lub skrypty) do automatycznego uruchamiania w określonych czasach lub interwałach. Niezależnie od tego, czy utrzymujesz serwer, czy zarządzasz zautomatyzowanymi zadaniami na lokalnej maszynie, cron jest niezbędnym narzędziem dla administratorów systemów i programistów.
Ten artykuł wyjaśnia, jak wyświetlać i listować zadania cron za pomocą komendy crontab, aby pomóc w efektywnym zarządzaniu zaplanowanymi zadaniami.
Co to jest komenda Crontab?
Crontab (skrót od „cron table”) to plik, który definiuje zaplanowane zadania dla demona cron. Każdy użytkownik w systemie, w tym użytkownik root, może mieć własny crontab, który określa, które zadania powinny być zautomatyzowane.
Wpis w crontabie ma następującą składnię:
* * * * * command_to_be_executed
| | | | |
| | | | +----- day of the week (0–7) (Sunday = 0 or 7)
| | | +---------- month (1–12)
| | +--------------- day of the month (1–31)
| +-------------------- hour (0–23)
+------------------------- minute (0–59)
Ta struktura pozwala na precyzyjną kontrolę nad tym, kiedy zadania są wykonywane, co czyni cron potężnym narzędziem automatyzacji.
Jak listować zadania cron za pomocą Crontab
Komenda crontab jest podstawowym narzędziem do zarządzania zadaniami cron. Poniżej przedstawiono najczęstsze sposoby listowania zadań cron.
1. Wyświetl swoje własne zadania cron
Aby wyświetlić zadania cron dla aktualnie zalogowanego użytkownika, uruchom:
crontab -l
Ta komenda wyświetla wszystkie zaplanowane zadania cron dla bieżącego użytkownika. Jeśli nie ma zadań cron, może zwrócić pusty wynik lub komunikat wskazujący, że nie zdefiniowano crontaba.
Przykładowy wynik:
# 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 uruchamia się codziennie o północy.
- Skrypt czyszczenia uruchamia się w każdą niedzielę o 2:30.
2. Lista zadań cron dla innego użytkownika
Jeśli masz sudo lub uprawnienia roota, możesz wyświetlić zadania cron dla innego użytkownika, używając flagi -u:
sudo crontab -l -u username
Zamień username na rzeczywistą nazwę użytkownika. Na przykład:
sudo crontab -l -u john
To wyświetli wszystkie zadania cron zaplanowane dla określonego użytkownika.
3. Lista zadań cron w systemie
Oprócz zadań cron specyficznych dla użytkowników, istnieją zadania cron w systemie zaplanowane przez system lub użytkownika root. Zazwyczaj są one przechowywane w:
/etc/crontab/etc/cron.d//var/spool/cron/crontabs/
Aby wyświetlić główny plik crontab systemu, uruchom:
cat /etc/crontab
Przykładowy wynik:
SHELL=/bin/sh
PATH=/usr/bin:/usr/sbin
# m h dom mon dow user command
17 * * * * 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 )
Ta konfiguracja planuje zadania konserwacyjne na poziomie systemu co godzinę, codziennie, co tydzień i co miesiąc.
Aby listować dodatkowe pliki cron systemu, uruchom:
ls /etc/cron.d/
Każdy plik w tym katalogu może definiować dodatkowe zaplanowane zadania dla usług systemowych.
4. Wyświetl zadania cron w /var/spool/cron
Pliki crontab specyficzne dla użytkowników są zazwyczaj przechowywane w /var/spool/cron/crontabs. Aby je wylistować:
ls /var/spool/cron/crontabs
Aby wyświetlić zawartość pliku crontab konkretnego użytkownika:
cat /var/spool/cron/crontabs/username
To zapewnia ten sam wynik co crontab -l -u username.
Edytowanie zadań cron
Aby edytować lub dodawać zadania cron dla bieżącego użytkownika, uruchom:
crontab -e
To otworzy plik crontab w domyślnym edytorze tekstu. Po zapisaniu i wyjściu zmiany wchodzą w życie natychmiast.
Przykład: uruchom skrypt codziennie o 3:00:
0 3 * * * /home/user/script.sh
Typowe komendy listowania crontab
- Lista zadań cron bieżącego użytkownika:
crontab -l - Lista zadań cron innego użytkownika (wymagane sudo):
sudo crontab -l -u username - Wyświetl crontab systemowy:
cat /etc/crontab - Lista plików cron w /etc/cron.d/:
ls /etc/cron.d/ - Lista crontab użytkowników:
ls /var/spool/cron/crontabs
Podsumowanie
Wyświetlanie i listowanie zadań cron za pomocą crontab to prosty, ale potężny sposób na zarządzanie zaplanowanymi zadaniami w systemach podobnych do Unix. Niezależnie od tego, czy zajmujesz się osobistą automatyzacją, czy zadaniami konserwacyjnymi w systemie, zrozumienie tych komend zapewnia, że Twoje zadania będą działać niezawodnie i na czas.
Opanowując cron, możesz zautomatyzować powtarzalne zadania, zarządzać kopiami zapasowymi i utrzymywać spójną realizację skryptów w całym swoim środowisku.
