Kā saglabāt galveno komandu izvadi failā


Sistēmas administratori ļoti izmanto Linux top komandu, lai reāllaikā parādītu sistēmas statistiku par sistēmas darbības laiku un vidējo slodzi, izlietoto atmiņu, darbības uzdevumiem, procesu vai pavedienu kopsavilkumu un detalizētu informāciju par katru darbojošos procesu.

Tomēr papildus darbojošās sistēmas skatīšanai reāllaikā augšpusē, lai darbotos paketes režīmā, un karodziņu -n , lai norādītu atkārtojuma lielumu, kas komandai jāizdod.

Zemāk esošajā piemērā augšējās komandas izvadi novirzīsim uz failu top.txt pašreizējā darba direktorijā. Arguments -n tiks izmantots, lai uz minēto failu nosūtītu tikai vienu komandas momentuzņēmumu.

$ top -b -n 1 > top.txt

Lai lasītu iegūto failu, izmantojiet komandrindas failu lasīšanas utilītu, piemēram, mazāk vai vairāk.

$ less top.txt

Lai sagrābtu piecas augšējās komandas iterācijas, izpildiet komandu, kā parādīts zemāk esošajā fragmentā.

$ top -b -n 5 > top-5iterations.txt

Lai parādītu tikai palaisto uzdevumu skaitu no iegūtā faila, izmantojiet grep filtru, kā parādīts zemāk esošajā komandu piemērā.

$ cat top-5iterations.txt | grep Tasks

Lai uzņemtu konkrēta procesa momentuzņēmumu augšējā utilītā, izpildiet komandu ar karodziņu PID (-p) . Lai iegūtu palaistā procesa PID, izsniedziet komandu pidof pret notiekošā procesa nosaukumu.

Šajā piemērā mēs uzraudzīsim cron procesu, izmantojot augšējo komandu, uzņemot trīs PID momentuzņēmumus.

$ pidof crond
$ top -p 678 -b -n3 > cron.txt
$ cat cron.txt

Izmantojot iterācijas cilpu, mēs ik pēc divām sekundēm varam parādīt procesa statistiku, izmantojot PID, kā parādīts zemāk esošajā piemērā. Cilpas izvadi var arī novirzīt uz failu. Mēs izmantosim to pašu cron PID, kas parādīts iepriekšējā piemērā.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done	

Pārvirzīt cilpas izvadi uz failu.

$ for i in {1..4}; do sleep 2 && top -b -p 678 -n1 | tail -1 ; done >> cron.txt
$ cat cron.txt

Šie ir tikai daži piemēri, kā jūs varat uzraudzīt un apkopot sistēmas un apstrādāt statistiku, izmantojot augšējo komandu.