Ak zistíte, že spúšťate rovnaký príkaz znova a znova, môže existovať lepší spôsob.
Niekedy je potrebné opakovane spustiť príkaz alebo program na monitorovanie rôznych aspektov vášho systému, ako sú prebiehajúce procesy, využitie miesta na disku alebo prihlásenia používateľov. Príkaz watch v systéme Linux vám umožňuje automatizovať tieto úlohy bez toho, aby ste ich museli znova a znova manuálne spúšťať.
Pomocou tohto príkazu môžete sledovať systémové aktivity v reálnom čase, ako sú prihlásenia používateľov, stav siete, využitie pamäte a procesora, miesto na disku atď. Pozrime sa, ako používať príkaz watch v systéme Linux.
Čo je príkaz Watch?
Príkaz watch Linux spúšťa zadaný príkaz alebo program opakovane v pravidelných intervaloch a zobrazuje svoj výstup v termináli. To vám umožní sledovať zmeny vo výstupe v reálnom čase. Obnovuje výstup v každom intervale a prepisuje predchádzajúci výstup príkazu. V predvolenom nastavení sa príkaz opakuje každé dve sekundy a pokračuje, kým ho manuálne nezastavíte Ctrl + C.
Sledujte syntax príkazov
Syntax príkazu watch je:
watch options
Existujú rôzne možnosti príkazového riadka, ktoré je možné použiť s príkazom watch. Ak spustíte príkaz watch bez akýchkoľvek možností, spustí sa zadaný príkaz každé dve sekundy. Napríklad nasledujúce vám ukáže výstup príkazu ls:
watch ls -l ~/
Výstup vám ukáže zmeny v zozname adresárov, ak sa súbor vytvorí, odstráni alebo zmení veľkosť, pričom sa výstup obnoví každé dve sekundy.
Spustite príkaz každých X sekúnd pomocou hodiniek
Môžete zmeniť interval aktualizácie príkazu watch. To znamená, že príkazu watch môžete povedať, aby počkal x sekúnd, kým príkaz zopakuje. Ak chcete zmeniť interval aktualizácie, použite -n možnosť, za ktorou nasleduje časový interval v sekundách.
watch -n
Ak chcete napríklad spustiť príkaz po každých 5 sekundách, spustite:
watch -n 5
Zvýraznite zmeny medzi aktualizáciami
Príkaz watch prepíše svoj výstup pri každom obnovení. Pomocou -d môžete tiež zvýrazniť zmeny medzi predchádzajúcim a aktualizovaným výstupom.
watch -d
V predvolenom nastavení príkaz watch zobrazuje hlavičku v hornej časti každého výstupu, ktorá obsahuje interval aktualizácie, názov príkazu a aktuálny dátum a čas systému. Môžete odstrániť hlavičku z výstupu pomocou -t možnosť:
watch -t
Play Beeps on Error
Keď proces Linuxu skončí, vráti výstupný kód. Podľa konvencie je hodnota 0 pri úspechu a nenulová, čo predstavuje chybu. Príkaz na hodinky -b voľba prehrá pípnutie, ak príkaz vráti nenulový výstup.
Povedzme, že chcete sledovať sshd.service a dostať upozornenie, keď sa služba zastaví; použili by ste:
watch -b sudo systemctl status sshd.service
Tento príkaz vydá pípnutie, keď sa služba zastaví. Pípanie sa zastaví, keď sa služba obnoví. Ak to chcete otestovať, otvorte ďalšie okno terminálu a zastavte službu. Toto bude neustále pípať, kým službu znova nespustíte. Ak však chcete použiť túto funkciu, musíte mať v systéme nainštalovaný balík pípnutí.
Ukončite príkaz na sledovanie pri zmene výstupu
Príkazu watch môžete tiež povedať, aby sa zastavil a skončil, keď sa zmení výstup príkazu. Môžete to urobiť pomocou -g možnosť. Táto možnosť je veľmi užitočná v scenároch, keď čakáte na určité zmeny vo výstupe.
Akonáhle sa výstup zmení, príkaz watch sa zastaví. Toto použitie môžete skombinovať s príkazom echo na zobrazenie správy na obrazovke.
Predstavte si napríklad scenár, v ktorom čakáte na doručenie súboru do vášho adresára. Nasledujúci príkaz bude monitorovať adresár pre zadaný súbor. Hneď ako príde, príkaz watch prestane bežať a správa súbor dorazil sa zobrazí na termináli.
watch -g "ls -l | grep filename" && echo "file arrived"
Ďalším užitočným príkladom je upozornenie, keď sa konkrétny používateľ prihlási do vášho systému:
watch -g "who | grep username" && echo "username logged in"
Tento príkaz bude monitorovať výstup who command, ktorý obsahuje zoznam prihlásených používateľov. Po prihlásení používateľa sa príkaz watch zastaví a na termináli sa zobrazí správa.
Podobne môžete príkazu watch povedať, aby zastavil službu, keď sa v súbore vykonajú nejaké zmeny. Majte na pamäti, že keď používate reťazec príkazov, budete musieť celý príkaz uzavrieť do úvodzoviek.
Sledujte aktivity vo vašom systéme Linux
Ak zistíte, že robíte rovnaký proces opakovane, zvážte použitie príkazu watch na jeho automatizáciu. Ušetrí vám to časté zadávanie príkazov, aby ste videli, čo sa zmenilo.
Príkaz watch môžete použiť aj s inými príkazmi systému Linux na monitorovanie systémových prostriedkov a aktivít a sledovanie zmien v súboroch alebo adresároch.