cron-&-crontab, — wyjaśniono

Jeśli chcesz planować zadania w systemie Linux, musisz znać wszystkie dane Cron i Crontab.

Czym są Cron i Crontab w Linuksie?

Planowanie zadań w systemie operacyjnym Linux jest teraz łatwiejsze, a to dzięki wykorzystaniu Cron i Crontrab, ale aby lepiej zrozumieć temat, ważne jest, aby znać wszystkie jego szczegóły i co każdy z nich oznacza?

Co to jest Cron?

Słowo Cron pochodzi od greckiego Chronos, co tłumaczy się jako czas, jego funkcją w Linuksie jest organizować i zarządzać wszystkimi zadaniami lub działaniami, które są w tle, ale uruchamiają procesy w bardzo regularnych odstępach czasu. Czyli wszystkie czynności, które chcesz wykonać w ciągu kilku minut, godzin, tygodni lub miesięcy.

Jest bardzo podobny do dobrze znanego harmonogramu zadań systemu Windows, który jest odpowiedzialny za wykonanie czynności w zaplanowanym czasie, mogą to być godziny, dni, tygodnie, a nawet miesiące.

Jak działa chronometraż?

Cron jest również znany jako „diabeł”, i zaczyna się od /etc/rc.d lub też jako /etc/init.d; Będzie to zależeć od posiadanej dystrybucji. Ponadto odbywa się w tle, czyli tak zwanym tle.

Z tego powodu jest odpowiedzialny za częste sprawdzanie wszystkich zadań i działań znalezionych w tabeli crontab. /etc/kontrolalub w /var/szpula/cron, szukanie zadań, które nie zostały jeszcze wykonane.

Najlepsze jest to, że możesz dodawać własne polecenia lub skrypty, aby niektóre procesy były wykonywane automatycznie. Przykładem tego jest sytuacja, gdy trzeba zaktualizować system lub gdy potrzebne są kopie zapasowe.

Co to jest Crontab?

Jest to plik tekstowy, w którym wszystkie zadania zaplanowane w Cronie są zapisywane i organizowane. Główną funkcją jest przejrzyj godziny i daty, w których każde polecenie powinno zostać wykonane lub skrypt.

Powinieneś wiedzieć, że każdy z użytkowników ma kontrab, dlatego gdy jest to użytkownik root, odwołuje się do /etc/kontrab, podczas gdy w innym przypadku byłoby to użycie tylko polecenia contrab.

Jedną z jego cech jest to, że pomaga zorganizować wszystkie zadania w systemie dla wielu użytkowników. Oznacza to, że jeśli jesteś rootem lub zwykłym użytkownikiem, nadal możesz z niego korzystać.

Jak działa Crontab?

Najprostszym sposobem wyjaśnienia, jak działa Crotab, jest przykład. Automatyzacja zadania aktualizacji Linuksa jest jednym z najczęstszych.

Aby rozpocząć ten proces, musisz utworzyć skrypt, który będzie się nazywał »kron», musi poprawnie wykonać wszystkie przypisane mu instrukcje, ale najpierw ważne jest, abyś wykonał różne testy i wypróbował kilka sposobów, zanim dołączysz go do crona:

  • #! / bin / bash
  • #skrypt (przykład aktualizacji)
  • #wybierz dystrybucję
  • #debian-ubuntu
  • #apt-get update&apt-get -y upgrade
  • #fedor
  • #mniam - y aktualizacja
  • #Łuk
  • #pacman --noconfirm -Syu

Jeśli chodzi o Ubuntu/Debian, ważne jest, aby usunąć #, dokładnie tam, gdzie znajduje się apt-get. Następnie musisz zapisać skrypt pod nazwą update.sh i zmodyfikować uprawnienia do jego wykonania, umieszczając: chmod a + x ~ / scripts / update.sh

Musisz uruchomić skrypt, aby sprawdzić, czy wszystko odbywa się bez problemu. Upewnij się, że nie ma ani jednego błędu, ponieważ w przeciwnym razie podczas procesu wystąpią awarie. Ostatnim krokiem w tym przypadku jest dodanie zadania do contrab.

Jak dodać zadania do crontaba?

Teraz nadszedł czas, aby rozpocząć edycję crontab za pomocą »kontrab-e», a powinno to wyglądać tak: # mh dom mon dow polecenie użytkownika. Każda z tych liter lub słów ma znaczenie i wspominamy o tym poniżej:

  • m: Odnosi się do minut, które zajmie wykonanie skryptu, wartości wahają się od do 59.
  • h: Oznacza godzinę, używany format to 24 godziny, a wartości wahają się od 0 do 23.
  • Dom: To jest dzień miesiąca.
  • dół: Odnosi się do dni tygodnia, wartości wahają się od 0 do 7, gdzie oczywiście 7 oznacza niedzielę.
  • użytkownik: Nazwa użytkownika, który uruchamia polecenie, root lub coś innego.
  • polecenie: Odwołuje się do polecenia lub ścieżki używanej w skrypcie.

Wyjaśnienie przykładów zadań cron

  • 15 10 * * * użytkownik/mężczyzna/użytkownik/skrypty/update.sh. Skrypt update.sh należy uruchamiać codziennie o godzinie 10:15.
  • 15 22 * ​​​​* * użytkownik/dom/użytkownik/skrypty/update.sh. To przykładowe zadanie wykona skrypt konkretnie o 22:15 każdego dnia.
  • 00 10 * * 0 root apt-get -y update Użytkownik root. Konkretnie, scenariusz jest realizowany w niedziele o godzinie 10:00
  • 45 10 * * sunroot apt-get -y aktualizacja. W tym przypadku użytkownik jest rootem i wykona aktualizację tylko w niedziele, reprezentowane przez "słońce" o 10:45 rano
  • 30 7 20 11 * użytkownik /home/user/scripts/update.sh. Scenariusz ma zostać wykonany 20 listopada o godzinie 7:30
  • 30 7 11 11 sun użytkownik /home/user/scripts/cake_with_candles.sh. Zadanie polega na tym, że 11 listopada o godzinie 7:30, jeśli jest niedziela, użytkownik musi świętować sysadmin.
  • Możliwe jest również użycie niektórych specjalnych poleceń, takich jak: 30 17 * * 1,2,3,4,5. Oznacza to, że od poniedziałku do piątku o godzinie 5:30 skrypt musi zostać wykonany.
  • 00 12 1,15, 28 * *. Oznacza to, że o godzinie 12 w południe należy dokonać egzekucji pierwszego, piętnastego i dwudziestego ósmego dnia każdego miesiąca.

Jednak nie jest to jedyna rzecz, którą może zrobić Crontab, obsługuje również niektóre polecenia, które dla wielu użytkowników są łatwiejsze niż te wymienione powyżej, a są to:

  • @ponowne uruchomienie: Ma być wykonywany raz przy starcie.
  • @rocznie: Powinieneś uruchamiać skrypt tylko raz w roku 0 0 1 1 *.
  • @rocznie: Jest używany w taki sam sposób jak poprzedni.
  • @miesięczny: Oznacza to, że skrypt powinien być wykonywany tylko jeden dzień w miesiącu, a konkretnie pierwszego dnia 0 0 1 * *.
  • @Tydzień tygodnial: Oznacza pierwszą minutę pierwszej godziny tygodnia 0 0 * * 0».
  • @codziennie: Uruchamia skrypt codziennie o godzinie 12:00 0 0 * * *.
  • @północ: Ma taką samą funkcję jak poprzednia.
  • @cogodzinny: Skrypt powinien być wykonywany w pierwszej minucie każdego teraz 0 * * * *.

Zarządzaj zadaniami cron

  • plik crontab: Służy do zastąpienia pliku, który już istnieje w kontrabacie, innym.
  • crontab -e: Służy do edycji pliku contrab, az każdą nową linią ustawiane jest nowe zadanie.
  • kontrab -ja: Dzięki temu możesz utworzyć listę zadań użytkownika znalezionych w contrab.
  • kontrab -d: Działa, aby usunąć kontrab użytkownika.
  • kontrab -c kier.: Ma na celu zdefiniowanie katalogu i pliku crontab użytkownika. Pamiętaj, że musi mieć wszystkie uprawnienia do zapisu i wykonywania użytkownika.
  • hasło -u użytkownik: Jest to przedrostek używany do przejęcia kontroli nad kontrabem innego użytkownika: $ sudo crontab -l -u root; $ sudo crontab -e user2; #crontab -d -u użytkownik.

przez Pisanie