Crontab in Linux z 20 przydatnymi przykładami do planowania zadań

Crontab in Linux z 20 przydatnymi przykładami do planowania zadań

Czy uruchamiasz zadanie cron na swoim serwerze co tyle minut? Czy jesteś administratorem systemu lub inżynierem, który musi codziennie zarządzać pracami CRON? Czy ciągle zapominasz o składni do założenia nowej pracy CRON? Jeśli tak, przeczytaj.

Cron jest istotną częścią każdego systemu, ponieważ automatyzuje różne zaplanowane zadania. Polecenie Crontab służy do edytowania i zarządzania zadaniami CRON. Tworzenie pracy CRON nie jest trudne, ale może stać się trudne w kontaktach z wieloma użytkownikami i środowiskami. Składnia crontab jest w większości taka sama we wszystkich dystrybucjach i serwerach Linux, więc kiedy się z nią zrozumiesz, będziesz planować zadania w krótkim czasie!

W tym samouczku nauczysz się korzystać z crontab z 20 przydatnymi przykładami do planowania zadań. Możesz także użyć crontab do zadań, aby uruchomić tylko raz w przyszłości, ale w przypadku wszelkich zadań do uruchomienia, gdy zalecamy użycie Linux AT Command.

Jeśli nie masz zainstalowanego w systemie crontab, patrz artykuł Zainstaluj crontab w centos/rhel.

Składnia Linux Crontab

Format pliku crontab jest bardzo prosty: każda linia zawiera sześć pól, oddzielone przestrzeniami. Pierwsze pole określa minutę (0-59), gdy zadanie zostanie uruchomione, drugie pole określa godzinę (0-23), trzecie pole określa dzień miesiąca (1-31) i tak dalej. Kardy wieloznaczne mogą być również używane w plikach crontab. Na przykład gwiazdka w czwartym polu wskazuje, że zadanie powinno być wykonywane co tydzień.

       

  • Minuta - Wartość minuty może wynosić od 0-59
  • Godzina - Wartość godziny może wynosić od 0-23
  • Dzień miesiąca - Ta wartość może między 1-31. Przez kilka miesięcy mając mniej dni ignoruje pozostałą część
  • Miesiąc roku - Może to być od 1-12. Możesz także zdefiniować tę wartość za pomocą pierwszych trzech alfabetów miesiąca, takich jak Jan, luty, mar, kwiecień itp.
  • Dzień tygodnia - Może to być wartość między 0-7. Gdzie 0 i 7 na niedzielę, 1 na poniedziałek, 2 na wtorek i tak dalej. Możesz także użyć pierwszych trzech alfabetów dni, takich jak słońce, pon, wt., Ślub itp.

Teraz poniższe stwierdzenia opisują, jak zdefiniować wiele wartości lub zakresów. Przeczytaj poniżej i zrozum.

  • Astrics (*) - Dopasuje wszystko
  • Wiele wartości - Użyj polecenia (,), aby zdefiniować wiele wartości, takich jak 2,4,8 lub Słońce, pt. Lub Jan, październik, dec itp.
  • Zdefiniuj zakres - Możesz zdefiniować zasięg za pomocą łącznika jak: 1-10 lub 20-30 lub Sun-FRI lub lutego
  • Zdefiniuj wiele zakresów - Możesz zdefiniować wiele zakresów z oddzielonymi poleceniami, takimi jak: Jan-mar

Jak dodać/edytować crontab

Pliki crontab są zwykle przechowywane w /etc /cron.D/ Directory w systemach Linux. Komenda crontab można użyć do edytowania pliku crontab.

crontab -e 

Domyślnie edytuje wpisy crontab użytkownika aktualnie zarejestrowanego. Aby edytować inne crontab użytkownika użyj poniższego polecenia:

crontab -u nazwa użytkownika -e 

Zmienić REDAKTOR Zmienna środowiskowa, aby zmienić domyślny edytor.

Jak wymienić crontab

Aby wyświetlić wpisy Crontab obecnych użytkowników, użyj następującego polecenia.

crontab -l 

Użyj -u, a następnie nazwa użytkownika do wyświetlenia wpisów crontab określonego użytkownika.

crontab -u nazwa użytkownika -l 

20 przydatnych przykładów do planowania crontab

Oto lista przykładów planowania zadań CRON w systemie Linux za pomocą crontab.

  1. Zaplanuj cron, który będzie wykonywany o 2 w nocy dziennie.
  2. Będzie to przydatne do codziennego planowania kopii zapasowych bazy danych.

    0 2 * * * /bin /sh tworzenie kopii zapasowej.cii 
    • Asterisk (*) służy do dopasowywania wszystkich rekordów.
  3. Zaplanuj cron, aby wykonać dwa razy dziennie.
  4. Poniższe przykładowe polecenie będzie wykonywane o 5 rano i 17:00 dziennie. Możesz określić wiele znaczków czasowych przez oddzielone przecinki.

    0 5,17 * * * /Skrypty /skrypt.cii 
  5. Zaplanuj cron, aby wykonywać każdą minutę.
  6. Ogólnie rzecz biorąc, nie potrzebujemy żadnego skryptu do wykonywania każdej minuty, ale w niektórych przypadkach może być konieczne skonfigurowanie.

    * * * * * /skrypty /skrypt.cii 
  7. Zaplanuj cron, aby wykonać w każdą niedzielę o 17:00.
  8. Ten rodzaj cron jest przydatny do wykonywania cotygodniowych zadań, takich jak rotacja dziennika itp.

    0 17 * * Słońce /skrypty /skrypt.cii 
  9. Zaplanuj cron, aby wykonywać co 10 minut.
  10. Jeśli chcesz uruchomić skrypt w odstępach 10 minut, możesz skonfigurować go jak poniżej. Tego rodzaju dysze są przydatne do monitorowania.

    */10 * * * */Scripts/Monitor.cii 

    */10: oznacza bieganie co 10 minut. Taki sam, jakbyś chciał wykonać co 5 minut, użyj */5.

  11. Zaplanuj cron do wykonania w wybranych miesiącach.
  12. Czasami musimy zaplanować zadanie, które należy wykonać tylko na wybrane miesiące. Poniżej przykładowy skrypt odbędzie się w styczniu, maju i sierpniowych miesiącach.

    * * * Jan, maj, sierpień * /skrypt /skrypt.cii 
  13. Zaplanuj cron do wykonania w wybrane dni.
  14. Jeśli wymagałeś zaplanowania zadania, które należy wykonać tylko na wybrane dni. Poniższy przykład odbędzie się w każdą niedzielę i piątek o 17:00.

    0 17 * * Słońce, pt. /Script /Script.cii 
  15. Zaplanuj cron do wykonania w pierwszą niedzielę każdego miesiąca.
  16. Zaplanowanie skryptu do wykonania skryptu w pierwszej niedzielę nie jest możliwe według parametru czasu, ale możemy użyć warunku w polach poleceń, aby to zrobić.

    0 2 * * Sun [$ (data +%d) -le 07] && /script /script.cii 
  17. Zaplanuj cron, aby wykonywać co cztery godziny.
  18. Jeśli chcesz uruchomić skrypt w odstępach 4 godzin. Można go skonfigurować jak poniżej.

    0 */4 * * */Scripts/Script.cii 
  19. Zaplanuj cron, aby wykonać dwa razy w każdą niedzielę i poniedziałek.
  20. Zaplanować zadanie wykonania dwa razy w niedzielę i poniedziałek. Aby to zrobić, użyj następujących ustawień.

    0 4,17 * * Słońce, mon /skrypty /skrypt.cii 
  21. Zaplanuj cron, aby wykonywać co 30 sekund.
  22. Zaplanowanie zadania wykonywania co 30 sekund nie jest możliwe według parametrów czasowych, ale można to zrobić, planując ten sam cron dwa razy, co poniżej.

    * * * * * /skrypty /skrypt.sh * * * * * sen 30; /Scripts/Script.cii 
  23. Zaplanuj wiele zadań w jednym Cron.
  24. Aby skonfigurować wiele zadań z jednym cronem, można wykonać poprzez oddzielenie zadań przez półkolis (;).

    * * * * * /skrypty /skrypt.cii; /Scripts/Scrit2.cii 
  25. Zaplanuj zadania do realizacji corocznej (@Yearly).
  26. @rocznie Znacznik czasu jest podobny do „0 0 1 1 *". Wykonuje zadanie w pierwszej minucie każdego roku, przydatne może wysłać pozdrowienia noworoczne 🙂

    @Yearly /Scripts /Script.cii 
  27. Zaplanuj zadania do wykonywania co miesiąc (@Monthly).
  28. @miesięczny Znacznik czasu jest podobny do „0 0 1 * *". Wykonuje zadanie w pierwszej minucie miesiąca. Przydatne może wykonywać miesięczne zadania, takie jak płacenie rachunków i fakturowanie klientom.

    @Monthly /Scripts /Script.cii 
  29. Zaplanuj zadania do wykonania co tydzień (@Weekly).
  30. A @co tydzień Znacznik czasu jest podobny do „0 0 * * Słońce". Wykonuje zadanie w pierwszej minucie tygodnia. Przydatne może wykonywać cotygodniowe zadania, takie jak czyszczenie systemu itp.

    @Weekly /bin /skrypt.cii 
  31. Zaplanuj zadania do wykonania codziennie (@Daily).
  32. @codziennie Znacznik czasu jest podobny do „0 0 * * *". Wykonuje zadanie w pierwszej minucie każdego dnia, może przydatne wykonywanie codziennych zadań.

    @Daily /Scripts /Script.cii 
  33. Zaplanuj zadania, aby wykonywać godzinę (@Hourly).
  34. @cogodzinny Znacznik czasu jest podobny do „0 * * * *". Wykonuje zadanie w pierwszej minucie każdej godziny, może być przydatne wykonywanie zadań godzinowych.

    @Hourly /Scripts /Script.cii 
  35. Zaplanuj zadania do wykonania w systemie ponownie (@reboot).
  36. @ponowne uruchomienie jest przydatny w tych zadaniach, które chcesz uruchomić w uruchomieniu systemowym. Będzie to samo jak skrypty uruchamiania systemu. Przydaje się do automatycznego rozpoczynania zadań w tle.

    @reboot /skrypty /skrypt.cii 
  37. Przekieruj wyniki CRON na określone konto e -mail.
  38. Domyślnie Cron wysyła szczegóły do ​​bieżącego użytkownika, w którym zaplanowano Cron. Jeśli chcesz przekierować go na drugie konto, można wykonać poprzez skonfigurowanie zmiennej poczty jak poniżej

    crontab -l  Poczta = bob 0 2 * * * /scenariusz /kopia zapasowa.cii 
  39. Weź kopię zapasową wszystkich cron do zwykłego pliku tekstowego.
  40. Polecam wykonanie kopii zapasowej wszystkich wpisów zadań w pliku. Pomoże ci to odzyskać cron w przypadku przypadkowego usunięcia.

    Sprawdź bieżący zaplanowany Cron:

    crontab -l  Mail = Rahul 0 2 * * * /Script /Backup.cii 

    Kopia zapasowa plik tekstowego:

    # crontab -l> cron -backup.txt # cat cron-backup.TXT Mail = Rahul 0 2 * * * /Script /Backup.cii 

    Usuwanie obecnego zaplanowanego Cron:

    # crontab -r # crontab -l bez crontab for root 

    Przywróć Crons z pliku tekstowego:

    # Crontab Cron-Backup.txt # crontab -l poczta = Rahul 0 2 * * * /scenariusz /kopia zapasowa.cii 

Wniosek

Dziękujemy za przeczytanie tego artykułu, mam nadzieję, że pomoże ci to zrozumieć Crontab in Linux. Do planowania zadań jednorazowych możesz również użyć Linux AT Command.