GNU/Linux >> Znalost Linux >  >> Linux

Jak spouštět příkaz Linux každých X sekund navždy

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:

Každý 10.0s:du -h SK:St 9. května 20:26:43 201817M ./.DRISPIVIVACÍ INOVACE SARL/BLUEGGRIFFON/Q87D9O6V.DEFAULT/Extensions16K ./.dooble/dooble4.0K ./.dooble/histories176K. /.dooble4.0K    ./.PlayOnLinux/wine/mono13M     ./.PlayOnLinux/wine/gecko4.0K    ./.PlayOnLinux/wine/linux-amd64652K    ./.PlayOn19/18.3/. wine/fonts872K    ./.PlayOnLinux/wine/linux-x86/1.3.19/share/wine

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

Linux
  1. Jak spustit nebo opakovat příkaz Linuxu každých X sekund navždy

  2. Jak používat Su Command v Linuxu

  3. Opakovat příkaz Unix každých X sekund navždy?

  1. Sledujte:Opakujte Unixové příkazy nebo skripty Shell každých N sekund

  2. Jak zaznamenat každý příkaz shellu v Linuxu

  3. linux:jak spustit příkaz v daném adresáři

  1. Jak spustit příkaz s časovým limitem (Timeout) v Linuxu

  2. Jak opakovaně spouštět bash skript každých N sekund?

  3. Jak nastavit úlohu CRON, aby se spouštěla ​​každých 10 sekund v Linuxu?