Jak uruchomić lub powtarzać polecenie Linux co x sekund na zawsze
- 2556
- 637
- Roland Sokół
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 LinuxJak 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:
-B
- tworzy dźwięk dźwiękowy, jeśli wyjście polecenia jest niezerowe.-C
- Interpretuje sekwencje kolorów ANSI.-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 aktuObejrzyj ś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.ISOMonitoruj 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:
- Użyj CRON, gdy musisz okresowo uruchamiać polecenia nawet po ponownym uruchomieniu systemu.
- 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.
- « Jak konfigurować i zarządzać połączeniami sieciowymi za pomocą narzędzia „NMCLI”
- Cheat - ostateczny wiersz poleceń „oszustwo” dla początkujących i administratorów Linux »