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
crontabCo 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
rootWpis 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
crontab1. Wyświetl swoje własne zadania cron
Aby wyświetlić zadania cron dla aktualnie zalogowanego użytkownika, uruchom:
crontab -lTa 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-usudo crontab -l -u usernameZamień
usernamesudo crontab -l -u johnTo 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/crontabPrzykł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/crontabsls /var/spool/cron/crontabsAby wyświetlić zawartość pliku crontab konkretnego użytkownika:
cat /var/spool/cron/crontabs/usernameTo zapewnia ten sam wynik co
crontab -l -u usernameEdytowanie zadań cron
Aby edytować lub dodawać zadania cron dla bieżącego użytkownika, uruchom:
crontab -eTo 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.shTypowe 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ą
crontabOpanowując cron, możesz zautomatyzować powtarzalne zadania, zarządzać kopiami zapasowymi i utrzymywać spójną realizację skryptów w całym swoim środowisku.
