Jak wyświetlić i wyświetlić listę zadań Cron przy użyciu Crontab ⋆ ALexHost SRL

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills
27.12.2024

Jak wyświetlić i wyświetlić listę zadań Cron przy użyciu Crontab

Narzędzie cron w uniksowych systemach operacyjnych umożliwia użytkownikom planowanie zadań (poleceń lub skryptów), które mają być uruchamiane automatycznie o określonych porach lub w określonych odstępach czasu. Niezależnie od tego, czy utrzymujesz serwer, czy zarządzasz zautomatyzowanymi zadaniami na komputerze lokalnym, cron jest niezbędnym narzędziem zarówno dla administratorów systemu, jak i programistów.

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
    (backup.sh
    ) jest uruchamiany codziennie o północy.
  • Skrypt czyszczenia
    (cleanup.sh
    ) jest uruchamiany w każdą niedzielę o godzinie 2:30.

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
, po której następuje nazwa użytkownika:

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żytkownika
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 )

W tym przykładzie:

  • /etc/cron.hourly
    zadania uruchamiane są w 17 minucie każdej godziny.
  • zadania
    /etc/cron.daily
    uruchamiane są codziennie o 6:25 rano.
  • zadania
    /etc/cron.weekly
    uruchamiane są w każdą niedzielę o 6:47.
  • /etc/cron.monthly
    uruchamia się pierwszego dnia każdego miesiąca o 6:52.

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.

Sprawdź swoje umiejętności we wszystkich naszych usługach hostingowych i otrzymaj 15% zniżki!

Użyj kodu przy kasie:

Skills