Byli jste někdy v situaci, kdy jste museli každých pár sekund opakovaně spouštět konkrétní příkaz Linuxu? No, pokud ještě nevíte, tento tutoriál vás naučí, jak na to. Samozřejmě to můžete udělat pomocí skriptu shellu nebo cron úloh . Příkaz Linuxu můžete také opakovat v určitém intervalu, aniž byste jej museli pokaždé spouštět ručně. Zde je místo Watch
příkaz přijde vhod. Tento příkaz lze použít k opakovanému provádění daného příkazu a sledování výstupu. Jednoduše řečeno, můžeme použít příkaz Watch ke spuštění příkazu Linux každých X sekund navždy a bude zobrazovat výstup v konzole, dokud jej ručně nezastavíme stisknutím CTRL+C
nebo zabít proces nebo násilně restartovat systém. Ve výchozím nastavení se daný příkaz spustí každé 2 sekundy, nebo si můžete definovat časový interval dle vlastního výběru.
Spouštějte příkaz Linux každých X sekund navždy pomocí příkazu Watch
Syntaxe watch
příkaz je:
Příkaz $ watch [options]
Níže jsem uvedl několik příkladů, které vás naučí, kde můžete použít watch
příkaz pro opakované spuštění konkrétního příkazu Linux.
Příklad 1:
Řekněme, že chcete spustit uptime
příkaz každé 2 sekundy pro sledování doby provozuschopnosti vašeho systému. Chcete-li to provést, jednoduše spusťte:
Doba sledování $ $
Ukázkový výstup:
Každé 2,0 s:dostupnost sk 9. únor 20:14:46 2018 20:15:46 nahoru 2:38, 1 uživatelů, 0,4 16 průměr Tady,
- Každé 2,0 s: uptime –
uptime
příkaz se spustí každé 2 sekundy a zobrazí výsledek. - sk - Aktuálně přihlášený uživatel
- St 9. února 20:14:46 2018 - Aktuální datum a čas, kdy jsme provedli příkaz.
Toto poběží, dokud jej ručně neukončíte. Chcete-li příkaz ukončit, stiskněte CTRL+C
.
Můžete také uložit výstup uptime
příkaz v souboru. Chcete-li to provést, spusťte:
$ watch `uptime`> uptime.txt
Nebo
$ watch `uptime`> uptime.doc
To může být užitečné, když chcete odeslat dobu provozuschopnosti vašeho systému technické podpoře, aby vám pomohla.
Příklad 2:
Jak jsem již zmínil, watch
příkaz spustí program každé 2 sekundy ve výchozím nastavení. Můžeme jej změnit na konkrétní interval, například 5 sekund, pomocí -n
parametr.
Zobrazme využití místa na disku souborovým systémem každých 5 sekund.
$ watch -n 5 df -h
Ukázkový výstup:
Každých 5,0 s:df -h sk:St May 9 20:19:09 2018Velikost souborového systému Použitá Avail Use% Mounted ondev 3.9G 0 3.9G 0% /devrun 3.9G 1.1M 3.9G 1% /run/dev/ sda2 457G 357G 77G 83% /tmpfs 3.9G 32M 3.9G 1% /dev/shmtmpfs 3.9G 0 3.9G 0% /sys/fs/cgrouptmpfs 3.9G 36K / 3.9G/ 3.9G 1% 0000 /var/lib/snapd/snap/core/4327/dev/sda1 93M 55M 32M 64% /boottmpfs 789M 28K 789M 1% /run/user/1000
Chcete-li zkontrolovat, zda tento příkaz skutečně funguje, vytvořte nebo odstraňte jakýkoli soubor/složku. Po vytvoření nebo odstranění souborů/složek si všimnete, že se volné místo ve výstupu změnilo.
Příklad 3:
Chcete-li sledovat obsah změny adresáře, spusťte:
$ watch -d ls -l
Zde -d
nebo --differences
flag zvýrazní rozdíly mezi po sobě jdoucími aktualizacemi.
Ukázkový výstup:
celkem 3857440-rw------- 1 sk uživatelů 1921843200 25. dubna 22:47 bionic-desktop-amd64.iso-rw------- 1 sk uživatelů 1921843200:25. dubna 03 desktop-amd64.iso.zs-olddrwxr-xr-x 2 sk uživatelů 12288 8. května 18:45 Desktopdrwxr-xr-x 2 sk uživatelů 4096 20. dubna 16:54 Documentsdrwxr-xr-x 11. května sk uživatelů 4096:Downloadsdrwxr-xr-x 2 sk uživatelů 4096 7. ledna 2017 Musicdrwxr-xr-x 5 uživatelů sk 12288 23. března 17:34 Picturesdrwxr-xr-x 2 uživatelů sk 4096 11. května 2016 Veřejnost
Můžete také zobrazit obsah změny adresáře, kterou vlastní konkrétní uživatel (např. sk ).
$ watch -d 'ls -l | fgrep sk'
To může být užitečné ve víceuživatelském systému.
Příklad 4:
Chcete-li zobrazit podrobnosti o paměti, spusťte:
$ sledovat -d zdarma -m
Příklad 5:
Chcete-li zobrazit výstup du příkaz každých 10 sekund, můžete použít:
$ watch -n 10 du -h
Ukázkový výstup:
Toto monitoruje využití disku každých 10 sekund, dokud jej ručně neukončíte.
Pro více podrobností vám doporučuji navštívit manuálové stránky.
$ mužské hodinky
Spouštět příkaz Linux každých X sekund navždy se smyčkou While
Můžete to udělat také pomocí While
smyčka.
Chcete-li příkaz opakovat každé 2 sekundy navždy, spusťte:
$ při spánku 2; dělat uptime; hotovo
Ukázkový výstup:
21:10:21 až 10:12, 1 uživatel, průměrná zátěž:0,83, 0,71, 0,5921:10:23 až 10:12, 1 uživatel, průměrná zátěž:0,76, 0,70, 0,5921:10:25 až 10 :12, 1 uživatel, průměrná zátěž:0,76, 0,70, 0,5921:10:27 až 10:12, 1 uživatel, průměrná zátěž:0,70, 0,68, 0,58[...]

Závěr
Nyní víte, jak spustit příkaz každých X sekund pomocí Watch
příkaz. Obecně Watch
Příkaz se používá pro sledování využití disku a paměti. Nezaměňujte prosím tento příkaz s jinými monitorovacími nástroji. Tento příkaz je určen k provádění příkazu každou konkrétní sekundu navždy, dokud jej ručně nezastavíte.
Související čtení:
- Jak opakovat příkaz, dokud v Linuxu neuspěje