Jak uruchomić lub powtarzać polecenie Linux co x sekund na zawsze

Jak uruchomić lub powtarzać polecenie Linux co x sekund na zawsze

Administrator systemu często musi wielokrotnie uruchamiać polecenie w określonych okresach. Często takie zadania można łatwo wykonać za pomocą prostych poleceń CRON. W większości przypadków powinno to działać, ale najkrótszy okres, który można uruchomić CRON, to co 1 minutę. Wierzcie lub nie, w wielu przypadkach jest to zbyt wolne.

Uruchom polecenie Linux co sekundę

W tym samouczku nauczysz się prostych technik skryptowych do monitorowania lub obserwowania konkretnego polecenia w stale działającej stanu podobnym do komendy TOP (ciągłe monitorowanie procesu i pamięci) przez domyślnie co 3 sekundy domyślnie.

Nie przestaniemy omawiać powody, dlaczego będziesz musiał tak często uruchamiać polecenia. Wierzę, że każdy ma inne powody, że w codziennej pracy, a nawet w domu komputery i laptopy.

1. Użyj polecenia Watch

Oglądać to polecenie Linux, które umożliwia okresowe wykonywanie polecenia lub programu, a także pokazuje wyjście na ekranie. Oznacza to, że będziesz mógł zobaczyć wyjście programu na czas. Domyślnie Watch ponownie prowadzi polecenie/program co 2 sekundy. Interwał można łatwo zmienić, aby spełnić Twoje wymagania.

Monitoruj zużycie pamięci

„Watch” jest niezwykle łatwy w użyciu, aby go przetestować, możesz od razu wystrzelić terminal Linux i wpisać następujące polecenie:

# Obejrzyj za darmo -m 

Powyższe polecenie sprawdzi bezpłatną pamięć systemu i aktualizuje wyniki bezpłatnego polecenia co dwie sekundy.

Monitoruj zużycie pamięci w Linux

Jak widać powyższe wyjście, masz nagłówek, wyświetlając informacje o (od lewej do prawej) interwał aktualizacji, polecenie, które jest wykonywane i bieżący czas. Jeśli chcesz ukryć ten nagłówek, możesz użyć -T opcja.

Następne logiczne pytanie brzmi - jak zmienić interwał wykonania. W tym celu możesz użyć -N opcja, która określa interwał, z którym polecenie zostanie wykonane. Ten przedział jest określony w sekundach. Powiedzmy więc, że chcesz uruchomić scenariusz.cii Plik co 10 sekund, możesz to zrobić:

# Obejrzyj -n 10 skrypt.cii 

Notatka że jeśli uruchomisz polecenie, jak pokazane powyżej, będziesz musiał płyta CD do katalogu (naucz się przykładów poleceń CD 15.

Inne przydatne opcje polecenia Watch to:

  1. -B - tworzy dźwięk dźwiękowy, jeśli wyjście polecenia jest niezerowe.
  2. -C - Interpretuje sekwencje kolorów ANSI.
  3. -D - Podkreśla zmiany w wyjściu polecenia.

Monitorowanie zalogowanych użytkowników, czasy aktu i średniej ładowania

Załóżmy, że chcesz monitorować zalogowanych użytkowników, czas pracy na serwerze i ładowanie średniej wyjściowej w stale fazie co kilka sekund, a następnie użyj następującego polecenia, jak pokazano:

# Obejrzyj czas aktu 
Obejrzyj średnią Linux ładowania

Aby wyjść z polecenia, naciśnij Ctrl+c.

Tutaj „czas aktu” Polecenie będzie działać i wyświetlać aktualizowane wyniki co 2 sekundy domyślnie.

Monitoruj postęp polecenia kopiowania

W systemie Linux, jednocześnie kopiując pliki z jednej lokalizacji do drugiej CP polecenie, postęp danych nie jest wyświetlany, aby zobaczyć postęp kopiowanych danych, możesz użyć oglądać polecenie wraz z poleceniem DU -s, aby sprawdzić użycie dysku w czasie rzeczywistym.

# CP Ubuntu-15.10-Desktop-AMD64.ISO/HOME/TECMINT/& # Watch -n 0.1 du -s/home/tecmint/Ubuntu -15.10-Desktop-AMD64.ISO 
Monitoruj postęp polecenia kopiowania

Jeśli uważasz, że powyższy proces jest zbyt skomplikowany, aby osiągnąć, sugeruję, aby wybrać polecenie z wyprzedzeniem, które pokazuje postęp danych podczas kopiowania.

2. Użyj polecenia snu

Sen jest często wykorzystywany do debugowania skorupy, ale ma również wiele innych przydatnych celów. Na przykład w połączeniu z Do Lub chwila Pętle, możesz uzyskać całkiem niesamowite wyniki.

Jeśli jesteś nowy w Bash Scripting, możesz sprawdzić nasz przewodnik o pętlach bashów tutaj.

Na wypadek, gdyby po raz pierwszy usłyszysz o "spać" polecenie, służy do opóźnienia czegoś przez określony czas. W skryptach możesz go użyć, aby poinformować o skrypcie, aby uruchomić polecenie 1, poczekaj 10 sekund, a następnie uruchomić polecenie 2.

Z powyższymi pętlami możesz powiedzieć Bash, aby uruchomił polecenie, spać N Ilość sekund, a następnie ponownie uruchom polecenie.

Poniżej możesz zobaczyć przykłady obu pętli:

dla przykładu pętli

# dla i in 1… 10; echo -n „To jest test w pętli $ i”; data ; sen 5; zrobione 

Powyższa wkładka uruchomi polecenie Echo i wyświetli bieżącą datę, w sumie 10 razy, z 5 sekundami snu między wykonaniami.

Oto przykładowe wyjście:

To jest test w pętli 1 Środa 17 lutego 20:49:47 EET 2016 To jest test w pętli 2 Wed 17 lutego 20:49:52 EET 2016 To jest test w pętli 3 wem 17 lutego 20:49:57 EET 2016 To jest test w pętli 4 Śr. 17 lutego 20:50:02 EET 2016 To jest test w pętli 5 Wed 17 lutego 20:50:07 EET 2016 To jest test w pętli 6 wulb 17 lutego 20:50:12 EET 2016 To jest test w pętli 7 Środa 17 lutego 20:50:17 EET 2016 To jest test w pętli 8 Wed 17 lutego 20:50:22 EET 2016 To jest test w pętli 9 wem 17 lutego 20:50: 27 EET 2016 To jest test w pętli 10 Wed 17 lutego 20:50:32 EET 2016 

Możesz zmienić Echo I data Polecenia z własnymi poleceniami lub scenariuszem i zmień interwał snu na swoje potrzeby.

podczas przykładu pętli

# Chociaż prawda; echo -n „To jest test pobytu”; data; sen 5; zrobione

Oto dane wyjściowe:

To jest test, w którym pętlone 17 lutego 20:52:32 EET 2016 To jest test, w którym pętld 17 lutego 20:52:37 eet 2016 To jest test, w którym pętlone 17 lutego 20:52:42 EET 2016 To jest Test, w którym pętlono 17 lutego 20:52:47 EET 2016 To jest test, w którym pętld 17 lutego 20:52:52 EET 2016 To jest test, w którym pętlowane 17 lutego 20:52:57 EET 2016 

Powyższe polecenie będzie działać, dopóki użytkownik zostanie zabity lub przerwany przez użytkownika. Może się przydać, jeśli musisz uruchomić polecenie działające w tle i nie chcesz liczyć Cron.

Ważny: Podczas korzystania z powyższych metod zaleca się ustawienie interwału wystarczająco długo, aby dać wystarczająco dużo czasu na ukończenie, przed następnym wykonaniem.

Wniosek

Próbki w tym samouczku są przydatne, ale nie mają na celu całkowicie zastąpienia narzędzia CRON. Od ciebie zależy, który jest dla ciebie lepiej, ale jeśli musimy oddzielić użycie obu technik, powiedziałbym to:

  1. Użyj CRON, gdy musisz okresowo uruchamiać polecenia nawet po ponownym uruchomieniu systemu.
  2. Użyj metod wyjaśnionych w tym samouczku dla programów/skryptów, które mają uruchomić w bieżącej sesji użytkownika.

Jak zawsze, jeśli masz jakieś pytania lub komentarze, nie wahaj się przesłać ich w sekcji komentarzy poniżej.