Timer systemu

Timer systemu
W systemie operacyjnym Linux, SystemD jest menedżerem serwisowym i menedżerem systemu. Działa jako system init, gdy jest uruchomiony jako pierwszy proces w rozruchu. Utrzymuje i śledzi usługi przestrzeni użytkownika. Aby rozpocząć usługi zalogowanych użytkowników, zaczyna się od osobnych instancji. Timery to pliki jednostkowe SystemD, które mają rozszerzenie „.regulator czasowy". Te pliki kontrolują „.Pliki lub zdarzenia serwisowe w systemie.

Przez większość czasu liczniki są używane jako zamiennik CRON. Zapewnia nam wbudowane wsparcie dla zdarzeń kalendarzowych. Zaletą timerów nad Cronjobs jest to, że zapewniają one drobniejsze kontrola zdarzeń. Są one używane, gdy zadanie wymaga zaplanowania systemu operacyjnego Linux. Na przykład, jeśli chcemy rozpocząć proces, gdy nasze maszynowe uruchamiamy się, używamy timery do tego celu. Wcześniej Cron był narzędziem do wykonywania tego rodzaju zadań. Ale w dzisiejszych czasach liczniki są używane do tych celów.

Timery są prawie jak Cron w taki sposób, że oba zapewniają podejście i mechanizm planowania zadań w systemie Linux OS. Cron ma swoje wady, dlatego Timery go zastępują. Na przykład, jeśli chcemy zaplanować naszą kopię zapasową o 5 wieczorem i jakoś, nasz system zamyka się między 4:50 a 5:10, Cron pomija kopię zapasową w tej sprawie, która zabija cel planowania.

Aby pracować z timerami, potrzebujemy następujących rzeczy jako warunków wstępnych:

  • Przywileje korzeniowe
  • Terminal

Funkcje Timers SystemD potrzebują dwóch plików konfiguracyjnych, które są:

Jednostka timera: Jednostka timera śledzi, kiedy korzystać z plików serwisowych. Używają przedłużenia „.regulator czasowy".

Jednostka serwisowa: To są pliki konfiguracji jednostek. Zarządzają i definiują procesy systemowe. Oni mają ".Rozszerzenie usługi ”, jak wcześniej omówiono.

Teraz omawiamy, w jaki sposób możemy zaplanować automatyczną kopię zapasową serwera. Kolejną zaletą usługi SystemD jest to, że nie pozwala ona na wiele instancji. Jeśli w jakiś sposób rozpoczynamy zadanie ponownie, gdy już się uruchomi, pomija STEM uruchomienia i trzyma je, dopóki bieżące zadanie nie ukończy pracy. Po skonfigurowaniu naszej usługi SystemD i udostępnianiu jej, tworzymy plik o tej samej nazwie co nasza usługa.

Jedyną różnicą jest to, że ma rozszerzenie „.timer ”, a nie z usług. Na przykład mamy usługę o nazwie „XYZ”. W takim przypadku mamy „XYZ.usługa ”jako nasza nazwa usługi i„ XYZ.timer ”jako nazwa naszego timera. Kolejną rzeczą, o której należy pamiętać, jest to, że oba te pliki muszą znajdować się w tym samym katalogu.

Kroki, aby utworzyć licznik systemu systemu

Utwórz skrypt testowy
Jest to podstawowy skrypt bash jako przykład:

Linux@Linux-virtualbox: ~ $ nano test.cii

Poprzedni skrypt drukuje datę.

Utwórz plik serwisowy
Teraz tworzymy plik lub jednostkę serwisową, aby uruchomić skrypt bash.

Linux@Linux-virtualbox: ~ $ nano/etc/systemd/system/nowy.praca

To przykładowy skrypt do utworzenia pliku serwisowego. Ma dwie opcje: jedna to „jednostka”, a druga to „serwis”. W tym kroku najpierw informujemy o systemie nazwy urządzenia i tego, co robi ta jednostka. Następnie definiujemy usługę z typem „prostego”. Na koniec definiujemy, że usługa rozpoczyna się w przypadku awarii.

Utwórz plik timera
Po utworzeniu pliku serwisowego tworzymy teraz plik timera. Uruchamiamy następujące polecenie, aby utworzyć plik timera:

Linux@Linux-virtualbox: ~ $ nano/etc/systemd/system/test.regulator czasowy

Ma trzy opcje: „jednostka”, „timer” i „instaluj”. Ponownie, po uruchomieniu polecenia, definiujemy, co robi nasza jednostka. Ma opcję „timer”. Z pomocą opowiadamy systemowi, kiedy działa nasz skrypt. Ostatnia opcja, „Zainstaluj”, wskazuje, kiedy nasza usługa rozpoczyna się zgodnie z poziomami biegu. Ta opcja jest włączona tylko wtedy, gdy usługa jest włączona za pomocą Systemctl.

Teraz omówmy opcje bardziej szczegółowo, aby uzyskać lepszą przyczepność na liczbie czasu.

Jednostka: To określa urządzenie, na którym chcemy włączyć, gdy skończy się timer. Parametr przekazany to nazwa jednostki, której rozszerzenie nie może być „.regulator czasowy". Jeśli nie jesteśmy w stanie tego zrobić lub nie chcemy przekazać nazwy jednostki, wartością domyślną jest usługa, która ma tę samą nazwę, co nazwa „.timer ”w takim przypadku. Jak już wspomniano, najlepszym podejściem jest to, że powinniśmy zachować nazwę usługi i nazwę timera.

Regulator czasowy: Opcja timera zawiera wszystkie informacje o zdefiniowanym timerze. W opcji timera znajdujemy wszystkie ustawienia, których potrzebujemy, aby uruchomić timer. Sekcje timera mają wiele opcji, takich jak:

OnActiveSec =, onbootsec =, onStartUpsec =, onUniTactiveSec =, onUnitInactiveSec =

W sekcji Timer mówimy również systemowi, kiedy uruchomić proces i kiedy zakończyć ten proces według strefy czasowej serwera.

Sekcja timera ma również bardzo przydatną i ważną opcję, która jest:

OnCalender = zestawy

Ta opcja określa, jak często wykonuje się zadanie. Na przykład, jeśli chcemy codziennie planować zadanie, używamy tej opcji, takiej jak „onCalendar = Daily”. To codziennie wykonuje zadanie.

Jeśli chcesz być bardziej szczegółowy, możesz również przekazać określony datetime zgodnie z Twoimi wymaganiami. Kolejną rzeczą, o której należy pamiętać podczas pracy z timerami, jest to, że codzienne wyzwalacze są zawsze o północy, co jest czasem szczytu w systemach komputerowych. Aby uniknąć problemów, zalecamy użycie „randomizedElaysec =”. Opóźnia harmonogram losowo z różnicą kilku sekund. Wymaga wartości reprezentującej sekundy, w której timer można opóźnić.

Problem polega na tym, że Daily jest zawsze wyzwalany o 12 rano. Tygodnik jest zawsze wyzwalany w poniedziałek północy. A coroczne jest zawsze wyzwalane pierwszego stycznia. Wszystkie są czasy szczytu i w trakcie nich jest awaria sieciowa.

Włącz i uruchom timer
To jest ostatni krok naszego zadania. Wykonujemy ten krok systematycznie. Aby wykonać tę aktywność, musimy wykonać „rozładowanie demona”. Aby sprawdzić, czy utworzony jest nowy plik lub aktualizowany stary plik, cały system jest ponownie załadowany.

Rozwiązywanie problemów
Czasami nie jesteśmy w stanie wcześniej złapać wszystkich problemów. W liczbie systemu SystemD możemy je złapać, weryfikując jednostki timera „SystemD” przed ich włączeniem. Aby to zrobić, używamy polecenia „Systemd-analyze-weryfikacji”. To polecenie pomaga nam znaleźć potencjalny problem i odpowiednio go naprawić.
Istnieją również inne polecenia, które pomagają nam w rozwiązywaniu problemów i diagnozowaniu naszych timerów. Na przykład istnieje polecenie, które pomaga nam sprawdzić, czy nasza usługa jest pomyślnie wykonywana, czy nie. Polecenie jest następujące:

Linux@Linux -virtualbox: ~ $ sudo Journalctl -s dzisiaj -f -u test.praca

To polecenie pokazuje nas, gdy usługa ostatnio się rozpoczęła i wynik naszego polecenia Bash, jak pokazano w poniższym fragmencie:

Wniosek

Studiowaliśmy licznik systemu. Po uzyskaniu szczegółowego przeglądu tego, czym jest licznik systemu i jego działanie, wdrożyliśmy przykład, aby wyjaśnić ci pomysł, w którym wyjaśniliśmy każdy krok w wielu częściach.