Giunsa ang Pagdagan o Pag-usab sa Linux Command Matag X Segundo sa Kahangturan


Ang usa ka tagdumala sa sistema sa kasagaran kinahanglan nga magpadagan sa usa ka sugo nga balik-balik sa usa ka piho nga mga yugto sa panahon. Kasagaran ang ingon nga mga buluhaton dali nga mahuman gamit ang yano nga mga mando sa cron. Sa kadaghanan sa mga kaso, kini kinahanglan nga molihok, apan ang pinakamubo nga panahon nga mahimo nimong ipadagan ang cron command matag 1 ka minuto. Tuohi kini o dili, sa daghang mga kaso kini hinay kaayo.

Niini nga tutorial, makakat-on ka sa yano nga mga teknik sa pag-script aron mamonitor o mabantayan ang usa ka partikular nga command sa padayon nga pagdagan nga estado susama sa top command (padayon nga pagmonitor sa proseso ug paggamit sa memorya) sa matag 3 segundos nga default.

Dili kami mohunong aron hisgutan ang mga hinungdan, ngano nga kinahanglan nimo nga padaganon kanunay ang mga mando. Nagtuo ko nga ang matag usa adunay lain-laing mga rason alang niana sa ilang adlaw-adlaw nga trabaho o bisan sa balay nga mga PC ug laptop.

1. Gamita ang pagbantay Command

Ang Watch usa ka Linux command nga nagtugot kanimo sa pag-execute sa usa ka command o program matag karon ug unya ug nagpakita usab kanimo ang output sa screen. Kini nagpasabot nga kamo makahimo sa pagtan-aw sa programa output sa panahon. Pinaagi sa default re-run ang relo sa command/program matag 2 segundos. Ang agwat dali nga mabag-o aron matubag ang imong mga kinahanglanon.

Ang Pagtan-aw sayon kaayo nga gamiton, aron masulayan kini, mahimo nimong sunugon dayon ang terminal sa Linux ug i-type ang mosunod nga sugo:

# watch free -m

Ang sugo sa ibabaw magsusi sa imong sistema nga libre nga memorya ug i-update ang mga resulta sa libre nga sugo matag duha ka segundo.

Sama sa makita sa ibabaw nga output, ikaw adunay usa ka header, nga nagpakita sa impormasyon mahitungod sa (gikan sa wala ngadto sa tuo) nga update interval, sugo nga gipatuman ug kasamtangan nga oras. Kung gusto nimo itago kini nga header, mahimo nimong gamiton ang kapilian nga -t.

Ang sunod nga lohikal nga pangutana mao - kung giunsa pagbag-o ang gilay-on sa pagpatuman. Alang niana nga katuyoan, mahimo nimong gamiton ang -n nga opsyon, nga nagtino sa agwat diin ang sugo ipatuman. Kini nga agwat gitakda sa mga segundo. Busa ingnon ta nga gusto nimong ipadagan ang imong script.sh file matag 10 segundos, mahimo nimo kini sama niini:

# watch -n 10 script.sh

Timan-i nga kon imong ipadagan ang command sama sa gipakita sa ibabaw, kinahanglan nimo nga cd ngadto sa direktoryo (pagkat-on sa 15 cd Command Examples) diin nahimutang ang script o ipiho ang tibuok nga dalan sa maong script.

Ang ubang mapuslanong mga kapilian sa relo nga sugo mao ang:

  1. -b – makamugna og beep sound kung dili zero ang exit sa command.
  2. -c – Paghubad sa ANSI color sequence.
  3. -d – nagpasiugda sa mga kausaban sa command output.

Ingnon ta nga gusto nimo nga bantayan ang mga naka-log-in nga tiggamit, oras sa pag-andar sa server ug pag-load sa average nga output sa padayon nga hugna matag pipila ka segundo, dayon gamita ang mosunod nga mando sama sa gipakita:

# watch uptime

Aron makagawas sa sugo, pindota ang CTRL+C.

Dinhi, ang uptime nga sugo modagan ug magpakita sa updated nga mga resulta matag 2 segundos isip default.

Sa Linux, samtang nagkopya sa mga file gikan sa usa ka lokasyon ngadto sa lain gamit ang cp nga sugo, ang pag-uswag sa datos wala gipakita, aron makita ang pag-uswag sa datos nga gikopya, mahimo nimong gamiton ang watch sugo uban sa du -s sugo sa pagsusi sa paggamit sa disk sa tinuod nga panahon.

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

Kung sa imong hunahuna nga ang proseso sa ibabaw labi ka komplikado aron makab-ot, nan gisugyot ko kanimo nga moadto alang sa Advance copy command, nga nagpakita sa pag-uswag sa datos samtang nagkopya.

2. Gamita ang sleep Command

Ang pagkatulog kanunay nga gigamit sa pag-debug sa mga script sa shell, apan kini adunay daghang uban pang mapuslanon nga katuyoan. Pananglitan, kon ikombinar sa for o while loops, makakuha ka og nindot kaayong mga resulta.

Kung bag-o ka sa bash scripting, mahimo nimong susihon ang among giya bahin sa mga bash loop dinhi.

Sa kaso kini ang unang higayon nga makadungog ka bahin sa \sleep\ command, kini gigamit sa paglangan sa usa ka butang sulod sa piho nga gidugayon sa panahon. Sa mga script, mahimo nimo kini gamiton aron isulti ang imong script sa pagdagan sa command 1, paghulat sa 10 segundos ug dayon pagdagan ang command 2.

Uban sa mga loop sa ibabaw, mahimo nimong sultihan ang bash nga magpadagan og usa ka command, matulog sa N nga gidaghanon sa mga segundo ug dayon ipadagan ang command pag-usab.

Sa ubos makita nimo ang mga pananglitan sa duha ka mga loop:

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

Ang labaw sa usa ka liner, magpadagan sa echo command ug magpakita sa kasamtangang petsa, total nga 10 ka beses, nga adunay 5 ka segundos nga pagkatulog tali sa mga execution.

Ania ang usa ka sample nga 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

Mahimo nimong usbon ang mga echo ug date command gamit ang imong kaugalingon nga mga command o script ug usbon ang interval sa pagkatulog sa imong mga panginahanglan.

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

Ania ang sample nga 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

Ang sugo sa ibabaw modagan hangtod nga kini mapatay o mabalda sa tiggamit. Mahimong magamit kini kung kinahanglan nimo nga magpadagan sa usa ka mando nga nagdagan sa background ug dili nimo gusto nga magsalig sa cron.

Mahinungdanon: Kung gigamit ang mga pamaagi sa ibabaw, girekomenda nga magbutang ka og interval nga igo nga igo aron mahatagan igong oras ang imong mando aron mahuman ang pagdagan, sa wala pa ang sunod nga pagpatuman.

Konklusyon

Ang mga sampol sa kini nga panudlo mapuslanon, apan wala gituyo aron hingpit nga ilisan ang cron utility. Anaa kanimo ang pagpangita kung kinsa ang labing maayo alang kanimo, apan kung kinahanglan naton nga ibulag ang paggamit sa duha nga mga teknik, isulti ko kini:

  1. Gamita ang cron kung kinahanglan nimo nga magpadagan sa mga command matag karon ug unya bisan pagkahuman sa pag-reboot sa system.
  2. Gamita ang mga pamaagi nga gipatin-aw niini nga tutorial para sa mga programa/scripts nga gituyo nga modagan sulod sa kasamtangang sesyon sa user.

Sama sa kanunay kung adunay ka mga pangutana o komento, ayaw pagpanuko sa pagsumite niini sa seksyon sa komento sa ubos.