Przewodnik dla początkujących po Crontab na Centos

Przewodnik dla początkujących po Crontab na Centos

„„Cron„Demon to wbudowana aplikacja Linux, której użytkownicy Linux wykorzystują do planowania wykonywania procesów. Cron przeszukuje „Tabele cron" Lub "crontab”Dla poszczególnych plików i skryptów. Plik crontab zapewnia zestaw poleceń, które można regularnie wykonywać. Dostarcza również nazwy poleceń wykorzystywanych do zarządzania listą poleceń. Crontab wykorzystuje także harmonogram Cronjob do prowadzenia operacji. Zgodnie z zestawem instrukcji, Cron to funkcja systemowa, która wykonuje lub wykonuje dla Ciebie procesy. Crontab to nazwa harmonogramu, a także narzędzie używane do tych modyfikacji.

W tym poście omówimy następujące punkty związane z Crontab:

  1. Historia
  2. Cron Modern wersje
  3. Co to jest cronjob?
  4. Dlaczego warto korzystać z Cronjob?
  5. Elementy Cronjob
  6. Crontab działa
  7. Korzystanie z crontab
  8. Składnia crontab
  9. Znaki specjalne w wyrażeniu
  10. Cron Special Strings
  11. Zmienna środowiskowa
  12. Zmienna crontab
  13. Opcje poleceń crontab
  14. Instalowanie CRON na Centos
  15. Crontab Scheduler: całe system
  16. Dostęp do cron
  17. Zarządzanie crontab
  18. 14 Przykłady Cronjob
  19. Tworzenie cronjob dla określonego użytkownika
  20. Wymień Cronjobs
  21. Tworzenie kopii zapasowej Cronjobs
  22. Usuwanie cronjobs
  23. Zarządzanie wyjściem cronjob
  24. Limity cronjob
  25. Obsługa błędów Cronjob
  26. Generatory składni dla crontab
  27. Graficzne front-end dla crontab

Udajmy się w stronę tej podróży!

Historia:

Gdy system operacyjny włączył tryb wielu użytkowników dla użytkowników, usługa Cron System została wywołana z „/etc/rc". Jego algorytm składa się z następujących kroków:

  1. Przeczytać "/usr/lib/crontab”Katalog.
  2. Sprawdź, czy polecenia wykonują w bieżącym czasie i datę, a następnie wykonaj polecenia jako root, superuser.
  3. Śpij jednominutowy.
  4. Powtórz krok 1 od początku.

Ta wersja Cron był niezawodny i prosty, ale wykorzystywał zasoby bez względu na to, czy miał jakąkolwiek pracę do wykonania. Pod koniec lat siedemdziesiątych na Uniwersytecie Purdue odkryto, że rozszerzający się Vax rozszerzony czas usługa Cron Dla wszystkich 100 użytkowników wywiera zbyt duży nacisk na system.

CRON Modern Versions:

Nowe Crons pojawiły się wraz z wprowadzeniem projektu Linux i GNU. „„Vixie Cron”, Stworzony przez Paula Vixiego w 1987 roku, jest najczęstszym Cronem. Vixie Cron Wersja 3 została wprowadzona w ostatnim kwartale 1993 roku. W styczniu 2004 r. ISC Cron został przemianowany na wersję 4.1. Większość dystrybucji BSD i Linux używa wersji 3, która ma kilka drobnych poprawek błędów. W 2007 r. Red Hat oddzielił Vixie-Cron 4.1 i Anacron 2.3 dodano w 2009 roku. Anacron i Dcron to dwa inne znaczące wdrożenia. Anacron nie jest samodzielnym programem CRON. Musi być nazywany innym cronjobem. Matt Dillon, założyciel Dragonfly BSD, stworzył Dcron, a Jim Pryor przejął jego konserwację w 2010 roku.

Dale Mellor stworzył McRon, wersję Cron na bazie podstępu, która jest kompatybilna z Vixie Cron, w 2003 roku. Umożliwia także większą elastyczność poprzez włączenie dowolnego kodu schematu w opisach zadań i planowaniu obliczeń. McRon jest domyślnie zainstalowany w ramach zarządzania pakietami Guix. Gwarantuje również, że wymagane pakiety są zainstalowane i że odpowiednie crontabs poprawnie odwołują się do nich. Tam, gdzie implementacje CRON nie są dostępne w środowisku hostingowym, rozwiązanie Webcron ustawia zadania pierścieniowe do regularnego wykonywania.

Co to jest cronjob?

Cron to narzędzie, które pozwala planować zadania w celu późniejszego wykonania. Możesz użyć innego polecenia, jeśli chcesz zaplanować jednorazową pracę na później. Jednocześnie Cron jest idealny do powtarzających się zadań.

Możesz znać procesy w systemie Windows, takie jak usługi. Cron to demon, który wykonuje swoją funkcjonalność poprzez wykonywanie zadań w tle. W stanie bezczynności demon czeka na wykonanie zadania z systemu roboczego lub innego systemu Linux obecnego w sieci. Mówiąc o strukturze pliku cron, mamy plik CRON, prosty plik tekstowy, który zawiera polecenia, które będą wykonywane w zaplanowanym czasie. „„/etc/crontab”Jest domyślnym plik Crontab System, który istnieje w następującym katalogu Crontab:„/etc/cron.*/". Administratorzy systemu mogą zmodyfikować plik Crontab System.

Systemy operacyjne oparte na systemie Linux obsługuje wielu użytkowników. Każdy z nich może utworzyć swój plik crontab i dodać polecenia do wykonywania zadań, gdy tylko pragnie. Demon Cron sprawdzi plik crontab, a następnie wykona zadanie w tle. Możesz także wykorzystać cronjobs do tworzenia kopii zapasowych, monitorowania przestrzeni dyskowych i automatyzacji konserwacji systemu. Zadania CRON są idealne na maszynę, która wykonuje siedem dni w tygodniu, 24 godziny na dobę. Podczas gdy administratorzy systemu używają głównie zadań CRON, mogą być również niezwykle cenne dla programistów stron internetowych.

Dlaczego warto korzystać z Cronjob?

  • Cronjobs pomagają archiwizować tabele bazy danych.
  • Usuń dowolne pliki dziennika, które są starsze niż rok.
  • Wysyła powiadomienia e -mail, takie jak zawiadomienia o wygaśnięciu hasła i biuletyny.
  • Pomaga systemowi operacyjnym w przyjmowaniu zaplanowanej kopii zapasowej baz danych i plików dziennika.
  • Regularne czyszczenie danych buforowanych.
  • Jest wykorzystywany do automatyzacji utrzymania systemu.
  • Jest to ogromne narzędzie używane do automatyzacji zadań UNIX.

Elementy Cronjob:

Większość cronjobów ma trzy części:

  • Komenda To jest wykorzystywane do uruchamiania skryptu.
  • scenariusz które zostaną wykonane.
  • wyjście wykonania skryptu.

Większość programów, które wymagają użycia cronjob, poda szczegółowe instrukcje, jak to skonfigurować.

Plik crontab:

Linia plików crontab jest „nieaktywna” lub „aktywna”. Wiersz „aktywny” to wpis polecenia CRON lub parametr środowiska. Każda linia, która jest ignorowana, w tym komentarze, jest uważana za „nieaktywną”. Zakładki, wiodące przestrzenie i puste linie nie są brane pod uwagę. Linie z znakiem „#” jako pierwsza postać nie przestrzeni jest czytana jako komentarze i zignorowana. W ustawieniach zmiennych środowiskowych lub poleceń CRON, polecenia nie mogą istnieć w tych samych wierszach, ponieważ jeśli to zrobisz, komentarze stają się częścią polecenia CRON.

Crontab działa:

Crontabs można znaleźć w lokalnym katalogu, na przykład w „/var/szpula" Lub "/var/szpula/cron/crontabs”, Który jest jego sub-drektorycznym. Nawet jeśli są obecne w którejkolwiek z tych lokalizacji, użyj polecenia crontab, aby wykonać zadanie ich edycji. Dowiemy się, jakie komponenty są potrzebne, zanim będziesz mógł oczekiwać pożądanych wyników z działań crontab. Wpis w crontab musi być obecny w pierwszym poleceniu. Pięć parametrów wskazuje ich czas wykonywania i to, czy powinno być wykonane, czy nie. Crontab można edytować, najpierw wprowadzając tryb edycji za pomocą polecenia „crontab -e". Gdy poświęcisz czas jako dane wejściowe, crontab jest gotowy do uruchomienia w określonym czasie.

Demon Cron pomaga w wykonywaniu niezbędnych kontroli, aby polecenie crontab mogło być wykonywane w tej instancji. Co minutę demon crontab sprawdza crontab. W rezultacie ten crontab zawiera informacje do minuty. Po przeprowadzeniu czeku powiązane polecenie jest wykonywane z pól w crontab pasującym do bieżącego czasu.

Sytuacje takie jak „brakujące godziny” podczas oszczędności w świetle dziennym należy unikać, ponieważ polecenie może nawet nie działać. Z drugiej strony, jeśli czas nastąpi więcej niż jeden raz, polecenie może nawet wykonać dwa razy. Innym przykładem jest to, że łącznik „-” może wykonywać cronjob kilka razy w ciągu dnia. Na przykład, jeśli ktoś chce wykonać cronjob o 10 i 11 godzinie dnia, można użyć polecenia 10-11. Kolejnym krytycznym aspektem wykonywania cronjobs są ustawienia umożliwiania pracy pracy. Zezwolenie lub odmówienie użytkownika wykonywania cronjobs można osiągnąć, wprowadzając pewne zmiany w Cron.Zezwalaj lub cron.Odmowa plików.

Korzystanie z crontab:

Linux System Pack zawierał „crontab” do planowania zadań. W związku z tym wykonywanie skryptu jako root ułatwia aktualizacje systemu. Jest to tak proste, jak zmiana cronjob, a następnie poczekaj na proces ponownego uruchomienia.

Składnia crontab:

Składnia crontab obejmuje sześć pól, w których pierwsze pięć pól jest powiązanych z datą i godziną wykonania. Każde pole w pliku crontab istnieje w następującej kolejności:

Minute (s) godziny (s) dzień (s) miesiąc (s) Day (s) Polecenia (s)
  • minuta: Jego wartość leży między zakresem 0-59. Opcja minuta określa dokładną minutę, jaką wykonuje polecenie Crontab.
  • godzina: Jego wartość leży między zakresem 0-23. Opcja godziny określa dzień, w którym polecenie Crontab wykonuje.
  • dzień: Jego wartość leży między zakresem 1-31. Opcja dnia określa dzień, w którym wykonuje polecenie crontab.
  • miesiąc: Jego wartość leży między zakresem 1-12 lub jan-grudem. Opcja miesiąca określa miesiąc roku, w którym prowadzi polecenie Crontab.
  • dzień powszedni: Jego wartość leży między zakresem 0-6 lub sobem. Opcje w dni powszednie określają dzień tygodnia, który wykonuje polecenie Crontab.
  • Komenda: Opcja polecenia ustanawia sekwencję poleceń, które zostaną wykonane.

Sprawdź następującą składnię polecenia crontab:

***** /PATHTOSCRIPT
  • Określ zakres: Użyj strzępek „-” do zdefiniowania określonego zakresu: 30-50, 40-100 lub w wtorek-fRI, lipiec-grudzień.
  • Do dopasowania celów, Użyj gwiazdek (*).
  • Zdefiniuj wiele zakresów: Użytkownicy mogą zdefiniować różne pola, które polecenie może się oddzielić, takie jak Dec-May lub Feb-Sept.

Znaki specjalne w wyrażeniu:

  • "?”Służy do reprezentowania„ dowolnego ”w następujących polach: <dzień tygodnia> i do oznaczania dowolnej wartości i ignoruje wartość pola. Na przykład możemy wprowadzić „?" w parametr do uruchomienia skryptu na „7. każdego miesiąca”, Niezależnie od tego, jaki dzień tygodnia nadejdzie ten dzień.
  • "*”Służy do wskazania wszystkich lub że zdarzenie powinno wystąpić przez jednostkę czasu. Na przykład w terenie „*”Oznacza każdą minutę.
  • "-”Reprezentuje„ zasięg ”. Na przykład, gdy używamy „-„Między godzinami 9-12 oznacza to„ 9, 10, 11 i 12 godzin ”.
  • Wartości przyrostowe są określone przy użyciu symbolu przyrostowego „/”. Na przykład w polu minuty „10/10” implikuje „10, 20, 30, 40 i 50 minut godziny".
  • "," Lub "Przecinek”Zapewnia zakres wartości. Na przykład, "Wtorek, Thur, SAT„Oznacza„Wtorek, czwartek, sobota".
  • Gdy jest zatrudniony w różnych dziedzinach, list „L”(Last) ma różne znaczenia. Zgodnie z miesiącem kalendarzowym, jeśli jest wykorzystywany w terenie jako „31 marca”, implikuje ostatni dzień marca. Używając z nim wartości przesunięcia, na przykład „L-2„Oznacza drugie do ostatniego dnia miesiąca.
  • Najbliższy dzień powszedni (od poniedziałku do piątku) do danego dnia miesiąca jest określany przez „W”(Dnia tygodnia). Jeśli umieścimy „4W” w terenie, oznacza to „dzień powszedni w pobliżu 4. tego miesiąca”.
  • "#„Oznacza„ ”N-th„Występowanie w dni powszednie w ciągu miesiąca; na przykład, "Drugi piątek lutego" byłoby "2#2".

Cron Special Strings

Demon Cron ma kilka skrótów, które ułatwiają definicje pracy.

Te słowa mają dokładne znaczenie i możesz je wykorzystać w składni zamiast specyfikacji daty 5 kolumny. Poniżej są niektóre skróty Cron:

@cogodzinny: To jest to samo co „0 * * * *”I uruchamia polecenie na początku każdej godziny.

@codziennie: To jest to samo co „0 0 * * *”I uruchamia polecenie raz dziennie, o 12 A.M. (północ).

@co tydzień: To jest to samo co „0 0 * * 0”I uruchamia polecenie co tydzień w niedzielę o północy.

@miesięczny: To jest to samo co „0 0 1 * *”I uruchamia polecenie o 12 A.M. (Północ) Każdy miesiąc pierwszy dzień.

@rocznie: To jest to samo co „0 0 1 1 *”I uruchamia polecenie raz w roku 1 stycznia o północy.

@ponowne uruchomienie: Za każdym razem, gdy system jest ponownie uruchamiany, to polecenie zostanie wykonane.

Zmienna środowiskowa:

Kiedy Cron prowadzi zadanie, środowisko ustawiające linię w crontab może ustawiać zmienne środowiskowe.

W crontab można dodać ustawienie środowiska jako:

Nazwa = wartość

Przestrzenie są opcjonalne w okolicy „wartość". Ponadto, zamknięty jest sznur w cytatach do utrzymania spustowych lub wiodących pustek.

Cron automatycznie ustawia niektóre zmienne środowiskowe:

  • POWŁOKA Zmienna jest ustawiona na „/bin/sh".
  • Katalog właściciela crontab „/etc/passwd„Linia służy do ustawiania Nazwa domu i logn. Shell i dom może być modyfikowane w czasie wykonywania, używając ustawień crontab, ale nie możemy zrobić tego samego z Nazwa lognamentu.
  • Czasami zmienna Nazwa lognamentu jest znany jako "UŻYTKOWNIK”W systemach BSD. Musimy też ustawić „UŻYTKOWNIK" konfiguracja.

Zmienne crontab:

Niektóre z najbardziej regularnie używanych zmiennych Cron są wymienione poniżej:

  • ŚCIEŻKA: Jest to lista katalogów, które będą przeszukiwane przez Cron.
  • Mailto: Określenie, kto odbiera dane wyjściowe każdego polecenia za pośrednictwem poczty e -mail.
  • DOM: Katalog domowy zalogowanego użytkownika.
  • Nazwa lognamentu: Nazwa bieżącego użytkownika.
  • Lang: Obecne konfiguracje lokalizacji
  • REDAKTOR: Domyślny edytor plików.
  • POCZTA: Lokalizacja przechowywania poczty bieżącego użytkownika.
  • TERMIN: Aktualna emulacja terminalu.
  • UŻYTKOWNIK: Obecny użytkownik, który jest obecnie zalogowany.
  • POWŁOKA: Trasa obecnego użytkownika, taka jak bash.

Opcje poleceń crontab:

  • -u [użytkownik]: Ta opcja pomoże ci zdefiniować użytkownika.
  • -n [gospodarz]: Ustaw dowolny host w klastrze do wykonywania crontabs użytkowników za pomocą opcji „-n”.
  • -x [maska]: Skorzystaj z opcji „-x”, aby umożliwić debugowanie.
  • -mi: Ta opcja jest wykorzystywana do edytowania crontab użytkownika.
  • -R: Aby usunąć crontab użytkownika, skorzystaj z opcji „-R”.
  • -L: Aby wymienić crontab użytkownika, napisz „-L” w poleceniu Crontab.
  • -C: Aby hosta w klastrze w celu realizacji crontabs użytkowników i korzystania z opcji „-C”
  • -I: Aby montować przed usunięciem, wykorzystywana jest opcja „-i”.
  • -S: Sprawdź kontekst Selinux za pomocą opcji „-s”.

Instalowanie CRON na Centos:

Domyślnie Cron jest zawarty w Centos 8. Z jakiegoś powodu, jeśli jeszcze go nie masz, zainstaluj go w swoim systemie:

$ sudo dnf instaluj cron
$ sudo systemctl enable -teraz crond.praca
$ sudo systemCtl Status Crond

Crontab Scheduler: całe system

Regularnie, większość usług korzysta z crontab. Usługi korzystają z ich ustawień harmonogramu crontab prosto do „/etc/cron.D”Katalog. Następnie harmonogram automatycznie wykona pliki obecne w tym katalogu. Poniżej znajdują się wstępnie skonfigurowane foldery Crontab: „/Etc/cron.godzinę ”,„/itp./Cron.codziennie ”,„/etc/cron.co tydzień ”i„/etc/cron.miesięczny". Administratorzy Linuksa mają pełną kontrolę nad tymi katalogami. Jednocześnie harmonogram regularnie przemierza te pliki crontab. Ponadto, jeśli użytkownicy root chcą na przykład coś wykonać, chce wykonywać konkretny skrypt każdego dnia, umieści plik w „/etc/cron.codziennie”Katalog.

Dostęp do cron:

Możesz przypisać kontrolę nad wykonywaniem dowolnego pliku za pomocą Cron. Oceń tę funkcjonalność, wykorzystując następujące pliki:

/etc/cron.umożliwić: Zezwolić

/etc/cron.zaprzeczyć: Zaprzeczać

Rzeczy, o których należy pamiętać:

  • Tylko użytkownik root może użyć cron, jeśli brakuje obu plików wymienionych powyżej.
  • Używając Cron, dodaj nazwę przed plikiem, niezależnie od tego, czy chcesz zaprzeczyć, czy zezwolić na konkretną nazwę pliku.
  • Dodaj linię wszystko przed Cron.Odmowa plik, jeśli nie chcesz, aby jakikolwiek inny użytkownik używał Cron.
  • Jeśli nic nie jest napisane w Cron.Odmowa pliku, wszyscy użytkownicy mogą pracować z Cron.
  • Jeśli nazwa użytkownika pojawia się w obu plikach: Cron.Pozwól, Cron.zaprzecz, wówczas użytkownik może nadal używać cron.
  • Załóżmy, że użytkownik jest wspomniany w Cron.zaprzecz, ale nie ma cron.zezwolić na to; wtedy wszyscy użytkownicy mogą używać CRON, z wyjątkiem określonego.

Zarządzanie crontab:

Jak wcześniej omawialiśmy crontab, jest to konkretny plik zawierający harmonogram zadań wykonany przez Cron. Z drugiej strony te zadania nie mają być edytowane bezpośrednio. W tym celu zaleca się polecenie crontab. Polecenie crontab pozwala na edytowanie crontab związanego z Twoim profilem użytkownika bez konieczności zmiany uprawnień. To polecenie powiadomi cię również o błędach obecnych w crontab, co nie byłoby możliwe, gdyby edytowane bezpośrednio. Wykorzystaj następujące polecenie do edytowania swojego crontab:

$ crontab -e

W systemach Linux, „/ etc/ katalog”Zawiera kolejny plik crontab. W wspomnianej lokalizacji istnieje crontab systemu, który zawiera pole, które określa, które uprawnienia profilu użytkownika do wykonywania cronjobs. Wykorzystaj następujące polecenie do zmiany crontab w całym systemie:

$ sudo nano /etc /crontab

Inną łatwiejszą metodą dostępu i edytowania pliku crontab jest wykorzystanie „Nano”Redaktor. Robić "Nano„Twój domyślny edytor, wykonując następujące kroki:

$ nano ~/.bash_profile

Dodaj następujący wiersz na początku otwartego pliku:

Export Visual = „Nano”

Zapisz dodaną linię w „ ~/.bash_profile”I wyjście. Następnie ponownie załaduj „~/.bash_profile" plik.

$ . ~/.bash_profile

Teraz napisz to polecenie, aby dodać cronjobs:

$ crontab -e

To jest plik crontab, w którym zapiszymy wszystkie nasze cronjobs:

Aby przeglądać zawartość pliku crontab, użyj następującego polecenia:

$ crontab -l

Notatka: Obecnie nie dodaliśmy żadnego cronjob w pliku crontab, aby wydrukować wszystko.

Aby usunąć cronjobs zaplanowane w pliku crontab, napisz to polecenie:

$ crontab -r

14 Przykłady Cronjob:

Przykład 1: Wykonanie cronjob po co najmniej 50 minutach

Następujące polecenie Crontab wykona „aktualizowanyb„Po co najmniej 50 minutach:

50 * * * * zaktualizowaneb

Przykład 2: Wykonanie cronjob w określonym czasie i miesiące

Przykład crontab do wykonania /usr/local/bin/testScript.cii o 8:00 s.M. 20 stycznia, lutego, marca i kwietnia:

00 08 20 1,2,3,4 */usr/local/bin/bin/testscript.cii

Przykład 3: Wykonanie cronjob w każdy piątek 1 P.M.

Poniżej podana polecenie pozwoli systemowi wykonać „TestScript.cii„W każdy piątek, 1 P.M.:

0 01 * * Pt /Scripts /TestScript.cii

Przykład 4: Wykonanie cronjob na każdą minutę

Aby wykonać konkretny skrypt po każdej minucie, sprawdź składnię tego polecenia:

* * * * * /Scripts /TestScript.cii

Przykład 5: Wykonanie cronjob w określone dni

Poniżej znajduje się przykład, który pomoże ci, jeśli chcesz zaplanować cronjob, który ma zostać wykonany w określone dni. Ten przykład uruchomi „TestScript.cii”W poniedziałek i środę o 2 P.M.:

0 02 * * MON, Wed /Script /TestScript.cii

Przykład 6: Wykonanie Cronjob w pierwszy poniedziałek każdego miesiąca

Parametr czasu nie wystarczy, aby ustawić w tym przykładzie. Zastosujemy warunek, aby określić, że konkretny skrypt powinien być wykonywany każdego miesiąca w pierwszy poniedziałek:

0 2 * * mon [$ (data +%d) -le 07] && /script /testscript.cii

Przykład 7: Wykonanie cronjob co 10 sekund

Ponownie określamy warunek wykonania cronjob co 10 sekund:

* * * * * /skrypty /skrypt.cii
* * * * * sen 10; /Scripts/Script.cii

Przykład 8: Wykonanie cronjob dla wielu zadań

Użyj (;) do konfigurowania Cron do wykonywania wielu poleceń w następujący sposób:

* * * * * /Scripts /TestScript1.cii; /Scripts/TestScript2.cii

Przykład 9: Wykonanie cronjob na początku każdego roku za pomocą „@yearly”

Wykonanie zadania w pierwszej minucie nowego roku jest pomocne w przypadku, gdy musisz wysłać komuś życzenia Nowego Roku."0 0 1 1 *”Jest podobny do znacznika czasu„@rocznie„:

@Yearly /Scripts /TestScript.cii

Przykład 10: Wykonanie cronjob na początku każdego miesiąca za pomocą „@Monthly”

Możesz użyć „@miesięczny„Znacznik czasu na wykonanie miesięcznych zadań, takich jak faktura dla klientów i płacenie rachunków:

@Monthly /Scripts /TestScript.cii

Przykład 11: Wykonanie cronjob na początku każdego tygodnia za pomocą „@Weekly”

Wykonaj dowolne zadanie na początku tygodnia, takie jak czyszczenie systemu za pomocą „@co tydzień" znak czasu. "co tydzień" jest równa "0 0 * * mon”:

@Weekly /bin /TestScript.cii

Przykład 12: Wykonanie cronjob na początku każdego miesiąca za pomocą „@Daily”

"@codziennie„Znacznik czasu jest równoważny„0 0 * * *". Służy do wykonywania codziennego zadania:

@Daily /Scripts /Script.cii

Przykład 13: Wykonanie cronjob na początku każdej godziny za pomocą „@Hourly”

"@cogodzinny„Znacznik czasu jest równoważny„0 * * * *". Możesz wykorzystać ten znacznik czasu do wykonywania zadań godzinowych:

@Hourly /Scripts /TestScript.cii

Przykład 14: Wykonanie cronjob dla ponownego uruchomienia systemu

"@ponowne uruchomienie”Jest przydatne do działań, które chcesz wykonać, gdy system systemowy. Jest przydatny do automatycznego uruchamiania zadań w tle. Ten typ cronjob służy do planowania skryptów startupowych.

@Reboot /Scripts /TestScript.cii

Tworzenie cronjob dla określonego użytkownika

Aby zaplanować cronjob dla konkretnego użytkownika, określ jego nazwę w następujący sposób:

***** nazwa użytkownika /ścieżka_to_script

Teraz sprawdźmy szybki przykład:

50 * * * * Linuxhint aktualizowanybb

To polecenie wykona „aktualizowanyb”Po co najmniej 50 minutach dla„Linuxhint”Użytkownik.

Wymień Cronjobs:

Użyj tego polecenia, aby wymienić zaplanowane cronjobs w swoim systemie:

$ crontab -l

Tworzenie kopii zapasowej Cronjobs:

Aby utworzyć kopię zapasową zaplanowanych cronjobs, skorzystaj z tego polecenia:

$ crontab -l> cron -backup.tekst

Sprawdź treść „Cron-Backup.tekst„Aby upewnić się, że cronjobs są tworzenie kopii zapasowych, czy nie:

$ Cat Cron-Backup.tekst

Usuń cronjobs:

Metoda 1: bez szybkiego

„„crontab -r„Polecenie służy do usuwania cronjobs:

$ Crontab -r

Metoda 2: z szybkim

Wykonanie następującego polecenia pokaże ci monit przed usunięciem crontab:

$ crontab -i -r

Zarządzanie wyjściem Cronjob:

Jak wspomnieliśmy we wstępie Cronjob, te zadania działają w tle. To jest powód, dla którego nie zawsze jest oczywiste, czy wykonali zadanie pomyślnie, czy nie. W tym momencie masz pewne zrozumienie związane z planowaniem Cronjob i jego użyciem. Teraz możesz eksperymentować z różnymi sposobami przekierowania wyjściowego Cronjobs. To przekierowanie pomoże Ci śledzić funkcjonalność Cronjobs.

Na przykład możesz wysłać dane wyjściowe Cronjobs na adres e -mail powiązany z profilem użytkownika Linux, jeśli masz zainstalowany i skonfigurowany agent przesyłania poczty na serwerze, na przykład „Wyślij maila". Dla porównania, „Mailto„Ustawienie na górze crontab można również wykorzystać do ręcznego dostarczania adresów e -mail. Dodaj następujące wiersze do pliku crontab, w którym mamy „Mailto”Oświadczenie, po którym następuje mój adres e -mail, dyrektywa domowa odnosząca się do katalogu, w którym należy znaleźć binarne CRON, pojedyncze zadanie CRON i a POWŁOKA dyrektywa wskazująca, że ​​skorupa do uruchomienia, która jest w naszym przypadku.

Mailto = "[email protected] "
Shell =/Bin/Bash
Strona główna =/
50 * * * * Linuxhint aktualizowanybb
* * * * * echo „Uruchom to polecenie co 50 minut”

To zadanie zwróci wiadomość „Uruchom to polecenie co 50 minut". Dane wyjściowe zostanie wysłane do określonego adresu e -mail obecnego w „Mailto„Dyrektywa. Aby uniknąć otrzymania wiadomości e -mail z wynikiem, możesz przekierować wyjście zadania CRON do pustej lokalizacji lub pliku dziennika.

W celu wysyłania wyjścia zaplanowanego polecenia do pliku dziennika: Dodatek >> do końca polecenia, z nazwą i ścieżką katalogu zawierającego plik dziennika, jak pokazano poniżej:

* * * * * Echo „Uruchom to polecenie co 50 minut” >>/Directory/Path/File.dziennik

W tym celu utworzyliśmy przykładowy plik dziennika, więc napiszemy to polecenie w następujący sposób:

* * * * * echo „Uruchom to polecenie co 50 minut” >> /testFile /próbka.dziennik

Limity cronjob:

Dedykowany i serwer VPS: W takim przypadku nie ma ograniczeń na czas wykonania cronjob.

Udostępniony i odsprzedawca: Cronjob może nie być prowadzony więcej niż raz na 15 minut.

Obsługa błędów Cronjob:

Metoda 1: Używanie /dev /null

Zamiast otrzymywać alert e -mail, możesz łatwo wysłać nasze błędy Cronjob i zalogować się do Dev/Null. Wszystko, co wysyłamy lub piszemy do Dev/Null, zostało odrzucone.

* * * * * cd /home /linuxhint && /bin /bash powłoka-testscript.sh> /dev /null 2> i 1
  • „„> /dev /null”Część polecenia instruuje CRON, aby przekierowywał standardowe wyjście (stdout) do /dev /null.
  • Deskryptor pliku „2”Jest dla błędu standardowego (STDDERR), podczas gdy deskryptor pliku standardu wynosi„ 1 ”.

Metoda 2: Wysyłanie danych wyjściowych do określonego pliku

Jest to popularna metoda i większość użytkowników preferuje tę metodę. W tej metodzie musisz utworzyć plik do zapisywania dzienników cronjob. Jeśli zadanie zostanie pomyślnie zakończone, wydrukuje dane wyjściowe; W przeciwnym razie wydrukuje błąd.

W tym celu utworzyliśmy przykładowy plik dziennika, więc napiszemy to polecenie w następujący sposób:

* * * * * cd /home /linuxhint && /bin /bash powłoka-testscript.SH >> Próbka.dziennik

Tutaj:

  • „„* * * *”Wskazuje, że zadanie będzie wykonywane co 50 minut na godzinę, dzień, co tydzień i miesiąc.
  • Ścieżka i wykonywalna ścieżka Bash to „/bin/bash".
  • Katalog zostanie zmieniony na „/Home/Linuxhint”, Który zawiera TestScript.Skrypt SH.
  • „„>>”Symbol dołącza do wyjścia do wcześniej utworzonego pliku,„plik próbki.dziennik„, Podczas gdy pojedynczy> symbol zastępuje plik.

Generatory składni dla crontab:

Z demonstracji przykładu możesz ustalić, jak łatwo jest zaplanować cronjob. Czasami nie można zapamiętać konkretnej składni Cronjob. Aby uczynić pracę jeszcze bardziej do zarządzania, jest dla Ciebie niewiele internetowych generatorów składni dla CRON. Teraz porozmawiamy o kilku stronach internetowych, które generują wyrażenia crontab. Te wyrażenia są oparte na twoich danych wejściowych. Po prostu skopiuj/wklej linię do pliku crontab swojego systemu po wygenerowaniu wyrażenia crontab zgodnie z Twoim wymaganiem.

Generator crontab:

Crontab Generator to narzędzie internetowe, które pozwala szybciej i bez wysiłku tworzyć wyrażenia crontab. Ta strona obejmuje formularz z kilkoma wpisami.

Użytkownik musi wypełnić wszystkie niezbędne pola w formularzach. W polach możesz wybrać wartość dla polecenia składni zgodnie z wymaganiami:

Następnie to narzędzie generatora crontab wyda polecenie w poniższej sekcji podświetlonej. Skopiuj wygenerowane polecenie, wklej je do pliku crontab, a skończyłeś!

Crontab Guru:

Ta strona internetowa jest dostarczana do dostarczania przykładowych przykładów cronjobs. Musisz tylko wprowadzić swoje informacje na stronie internetowej, a za kilka minut wygeneruje składnię crontab.

Cronmaker:

Jest to kolejna strona internetowa, która jest również zbudowana w celu generowania składni Cronjob Command:

Graficzne front-end dla crontab:

Niektóre narzędzia frontowe Crontab są dostępne do tworzenia zadań CRON za pomocą graficznego interfejsu użytkownika. Do zarządzania lub dodawania zadań CRON nie ma potrzeby aktualizacji pliku crontab z wiersza poleceń. Te narzędzia sprawi, że zarządzanie cronjobs będzie proste!

Zeit:

Zeit to darmowa aplikacja utworzona w języku komputerowym C ++. Zgodnie z licencją GPLV3 kod źródłowy tej aplikacji jest dostępny na GitHub. To jest oparte na QT „crontab" I "Na”Polecenie front-end. Możemy wykorzystać ZEIT do następujących zadań:

  • Dodać, zmodyfikować i usunąć zadania crontab.
  • Aby usunąć, edytować lub dodać zmienne środowiskowe Crontab.
  • Aby ustawić alarmy i timery.

Crontab UI:

Crontab UI to internetowe rozwiązanie do zarządzania Cronjobs w Linux z łatwością i bezpieczeństwem. Nie musisz ręcznie edytować pliku crontab, aby tworzyć, usuwać i zarządzać zadaniami CRON. Za pomocą kilku kliknięć myszy możesz zrobić wszystko w tej przeglądarce internetowej. Crontab UI ułatwia tworzenie, edytowanie, zatrzymywanie, usuwanie i tworzenie kopii zapasowej zadań CRON. Odgrywa również swoją rolę w importowaniu, eksporcie i wdrażaniu cronjobów na inne maszyny.

Wniosek:

Cron to wszechstronne i potężne narzędzie, które może pomóc w różnych zadaniach administracyjnych systemu. Możesz zautomatyzować operacje, które są zwykle skomplikowane z skontaktami. Artykuł zawiera kompletny przewodnik dla początkujących, który omówił wszystko, w tym działanie crontab, jego użycie, jego instalację na centos, przykładowe przykłady cronjobs i generatory składni crontab.