Wéi lafen oder widderhuelen e Linux Kommando all X Sekonne fir ëmmer


E Systemadministrator muss dacks e Kommando an enger bestëmmter Zäit ëmmer erëm ausféieren. Dacks kënnen esou Aufgaben einfach mat einfache Cron Commande ofgeschloss ginn. Am meeschte Fäll soll dëst funktionnéieren, awer déi kuerst Period déi Dir Cron Kommando ausféiere kënnt ass all 1 Minutt. Gleeft et oder net, a ville Fäll ass dëst ze lues.

An dësem Tutorial léiert Dir en einfache Skripttechnike fir e bestëmmte Kommando am kontinuéierleche Lafen Zoustand ze iwwerwaachen oder ze halen ähnlech wéi Top Kommando (kontinuéierlech de Prozess an d'Erënnerungsverbrauch iwwerwaachen) fir all 3 Sekonnen als Standard.

Mir wäerten net ophalen fir d'Grënn ze diskutéieren, firwat Dir dës dacks Kommandoen ausféiere musst. Ech gleewen datt jidderee verschidde Grënn dofir huet an hirer alldeeglecher Aarbecht oder souguer doheem PCs a Laptops.

1. Benotzen Auer Kommando

Waacht ass e Linux Kommando deen Iech erlaabt e Kommando oder Programm periodesch auszeféieren an Iech och Ausgab um Bildschierm weist. Dëst bedeit datt Dir fäeg sidd de Programmausgang an der Zäit ze gesinn. Par défaut leeft d'Auer de Kommando/Programm all 2 Sekonnen. Den Intervall kann einfach geännert ginn fir Är Ufuerderungen ze treffen.

Kuckt ass extrem einfach ze benotzen, fir et ze testen, kënnt Dir e Linux-Terminal direkt opmaachen an de folgende Kommando tippen:

# watch free -m

Deen uewe genannte Kommando iwwerpréift Äre System fräi Erënnerung an aktualiséieren d'Resultater vum gratis Kommando all zwou Sekonnen.

Wéi gesi pro der uewe genannter Ausgab, hutt Dir en Header, deen Informatioun iwwer (vu lénks op riets) Aktualiséierungsintervall weist, Kommando dat ausgefouert gëtt an déi aktuell Zäit. Wann Dir dësen Header wëllt verstoppen, kënnt Dir d'Optioun -t benotzen.

Déi nächst logesch Fro ass - wéi den Ausféierungsintervall ännert. Fir dësen Zweck kënnt Dir d'Optioun -n benotzen, déi den Intervall spezifizéiert mat deem de Kommando ausgefouert gëtt. Dësen Intervall gëtt a Sekonnen uginn. Also loosst eis soen datt Dir Är script.sh Datei all 10 Sekonnen ausféiere wëllt, Dir kënnt et esou maachen:

# watch -n 10 script.sh

Notéiert datt wann Dir de Kommando leeft wéi hei uewen gewisen, musst Dir cd an de Verzeechnes (léieren Learn 15 cd Command Beispiller) wou de Skript läit oder soss de komplette Wee zu deem Skript spezifizéieren.

Aner nëtzlech Optioune vum Iwwerwaachungskommando sinn:

  1. -b – erstellt e Beep Sound wann den Ausgang vum Kommando net null ass.
  2. -c – Interpretéiert ANSI Faarfsequenzen.
  3. -d – markéiert d'Ännerungen am Kommandoausgang.

Loosst eis soen datt Dir ageloggte Benotzer wëllt iwwerwaachen, Server uptime a lueden duerchschnëttlech Output a kontinuéierlech Phase all puer Sekonnen, benotzt dann de folgende Kommando wéi gewisen:

# watch uptime

Fir de Kommando auszeschléissen, dréckt CTRL+C.

Hei gëtt de Kommando uptime ausgeführt an als Standard all 2 Sekonnen déi aktualiséiert Resultater ugewisen.

Am Linux, wann Dir Dateien vun enger Plaz op déi aner kopéiert mam Kommando cp, gëtt de Fortschrëtt vun den Donnéeën net gewisen, fir de Fortschrëtt vun den Donnéeën ze kopéieren, kënnt Dir de Auer benotzen. Kommando zesumme mam du -s Kommando fir d'Disknotzung an Echtzäit ze kontrolléieren.

# cp ubuntu-15.10-desktop-amd64.iso /home/tecmint/ &
# watch -n 0.1 du -s /home/tecmint/ubuntu-15.10-desktop-amd64.iso 

Wann Dir denkt datt den uewe genannte Prozess ze komplizéiert ass fir z'erreechen, da proposéiere ech Iech fir de Advance Copy Kommando ze goen, wat de Fortschrëtt vun den Donnéeën während der Kopie weist.

2. Benotzt Schlof Kommando

Schlof gëtt dacks benotzt fir Shell-Skripte ze debuggen, awer et huet och vill aner nëtzlech Zwecker. Zum Beispill, wann Dir kombinéiert mat fir oder während Loops, kënnt Dir zimlech genial Resultater kréien.

Wann Dir nei sidd mat Bash Scripting, kënnt Dir eise Guide iwwer Bash Loops hei kucken.

Am Fall datt Dir déi éischte Kéier iwwer de Kommando \Schlof\ héiert, gëtt et benotzt fir eppes fir eng spezifizéiert Zäit ze verzögeren. A Skripte kënnt Dir et benotze fir Äert Skript ze soen fir Kommando 1 ze lafen, waart 10 Sekonnen an da lafen Kommando 2.

Mat den uewe genannte Loops kënnt Dir bash soen fir e Kommando auszeféieren, Schlof fir N Betrag vu Sekonnen an dann de Kommando erëm ze lafen.

Hei drënner kënnt Dir Beispiller vu béide Schleifen gesinn:

# for i in {1..10}; do echo -n "This is a test in loop $i "; date ; sleep 5; done

Déi uewe genannte Liner leeft den Echo Kommando an weist den aktuellen Datum, insgesamt 10 Mol, mat 5 Sekonnen Schlof tëscht Ausféierungen.

Hei ass e Probe Output:

This is a test in loop 1 Wed Feb 17 20:49:47 EET 2016
This is a test in loop 2 Wed Feb 17 20:49:52 EET 2016
This is a test in loop 3 Wed Feb 17 20:49:57 EET 2016
This is a test in loop 4 Wed Feb 17 20:50:02 EET 2016
This is a test in loop 5 Wed Feb 17 20:50:07 EET 2016
This is a test in loop 6 Wed Feb 17 20:50:12 EET 2016
This is a test in loop 7 Wed Feb 17 20:50:17 EET 2016
This is a test in loop 8 Wed Feb 17 20:50:22 EET 2016
This is a test in loop 9 Wed Feb 17 20:50:27 EET 2016
This is a test in loop 10 Wed Feb 17 20:50:32 EET 2016

Dir kënnt d'Echo an d'Datumbefehle mat Ären eegene Kommandoen oder Skript änneren an de Schlofintervall no Äre Besoinen änneren.

# while true; do echo -n "This is a test of while loop";date ; sleep 5; done

Hei ass eng Probe Output:

This is a test of while loopWed Feb 17 20:52:32 EET 2016
This is a test of while loopWed Feb 17 20:52:37 EET 2016
This is a test of while loopWed Feb 17 20:52:42 EET 2016
This is a test of while loopWed Feb 17 20:52:47 EET 2016
This is a test of while loopWed Feb 17 20:52:52 EET 2016
This is a test of while loopWed Feb 17 20:52:57 EET 2016

Déi uewe genannte Kommando leeft bis se entweder ëmbruecht oder vum Benotzer ënnerbrach gëtt. Et kann praktesch kommen wann Dir e Kommando am Hannergrond lafen musst an Dir wëllt net op Cron zielen.

Wichteg: Wann Dir déi uewe genannte Methoden benotzt, ass et héich recommandéiert datt Dir den Intervall laang genuch setzt fir genuch Zäit vun Ärem Kommando ze ginn fir ze lafen, virun der nächster Ausféierung.

Conclusioun

D'Proben an dësem Tutorial sinn nëtzlech, awer sinn net geduecht fir de Cron Utility komplett ze ersetzen. Et ass un Iech ze fannen wat fir Iech besser funktionnéiert, awer wa mir d'Benotzung vu béiden Technike musse trennen, géif ech dat soen:

  1. Benotzt cron wann Dir Befehle periodesch ausféiere musst och nom System Neistart.
  2. Benotzt d'Methoden, déi an dësem Tutorial erkläert ginn, fir Programmer/Skripte, déi geduecht sinn an der aktueller Benotzersitzung ze lafen.

Wéi ëmmer wann Dir Froen oder Kommentarer hutt, zéckt net fir se an der Kommentarsektioun hei drënner ofzeginn.