Системски администратор често мора да извршава команду више пута у одређеном временском периоду. Често се такви задаци могу лако довршити једноставним црон команде. У већини случајева ово би требало радити, али најкраћи период који можете покренути црон наредба је сваких 1 минут. Веровали или не, у многим случајевима то је преспоро.
У овом водичу ћете научити једноставне технике скриптирања за надгледање или држање на оку одређене команде у непрекидном стању слично горња команда (стално надгледајте процес и искоришћеност меморије) подразумевано сваке 3 секунде.
Нећемо стати да расправљамо о разлозима зашто бисте морали да покрећете команде овако често. Верујем да свако има различите разлоге за то у свом свакодневном послу, па чак и код кућних рачунара и лаптопова.
Гледати је Линук наредба која вам омогућава да повремено извршавате наредбу или програм, а такође приказује и излаз на екрану. То значи да ћете моћи да видите излаз програма на време. Подразумевано сат поново покреће команду/програм сваке 2 секунде. Интервал се може лако променити како би задовољио ваше захтеве.
„Сат“ је изузетно једноставан за употребу, да бисте га тестирали, можете одмах покренути Линук терминал и откуцати следећу команду:
# гледати бесплатно -м.
Горња команда ће проверити слободну меморију вашег система и ажурирати резултате бесплатна команда сваке две секунде.
Као што се види из горњег излаза, имате заглавље које приказује информације о (с лијева на десно) интервалу ажурирања, наредби која се извршава и тренутном времену. Ако желите да сакријете ово заглавље, можете користити -т
опција.
Следеће логично питање је - како променити интервал извршења. У ту сврху можете користити -н
опцију, која одређује интервал са којим ће се наредба извршавати. Овај интервал је наведен у секундама. Рецимо да желите да покренете свој сцрипт.сх
датотеку сваких 10 секунди, можете то учинити овако:
# ватцх -н 10 сцрипт.сх.
Белешка да ако покренете наредбу као што је приказано горе, мораћете цд
у директоријум (научите Научите 15 примера команди за цд) где се скрипта налази или на неки други начин наведите пуну путању до те скрипте.
Друге корисне опције команде ватцх су:
-б
-ствара звучни сигнал ако излаз команде није нула.-ц
- Тумачи АНСИ секвенце боја.-д
- истиче промене у излазу команде.Рецимо да желите да пратите пријављене кориснике, време рада сервера и учитавате просечан излаз у континуалној фази сваких неколико секунди, а затим користите следећу команду као што је приказано:
# гледајте продужено време.
Да бисте изашли из команде, притисните ЦТРЛ+Ц
.
Овде, 'продужење рада'
команда ће се покренути и подразумевано приказивати ажуриране резултате сваке 2 секунде.
У Линук -у, док копирате датотеке са једне локације на другу помоћу цп
наредбу, напредак података није приказан, да бисте видели напредак података који се копирају, можете користити гледати
команда заједно са ду -с команда за проверу употребе диска у реалном времену.
# цп убунту-15.10-десктоп-амд64.исо/хоме/тецминт/& # ватцх -н 0.1 ду -с /хоме/тецминт/убунту-15.10-десктоп-амд64.исо
Ако мислите да је горњи процес превише компликован за постизање, предлажем вам да кренете Команда за унапред копирање, који приказује напредак података током копирања.
Спавање се често користи за отклањање грешака скрипти, али има и многе друге корисне сврхе. На пример, у комбинацији са за
или док
петље, можете добити прилично сјајне резултате.
Ако сте тек почели са басх скриптирањем, можете погледати наш водич о басх петљама овде.
У случају да први пут чујете за "спавај"
команда, користи се за одлагање нечега на одређено време. У скриптама га можете користити да бисте свом скрипту рекли да покрене команду 1, сачека 10 секунди, а затим покрене команду 2.
Са горњим петљама, можете рећи басх -у да покрене команду, спавати за Н количину секунди, а затим поново покрените команду.
Испод можете видети примере обе петље:
# фор и у {1..10}; до ецхо -н "Ово је тест у петљи $ и"; датум; спавати 5; Готово.
Горњи један линер ће покренути ецхо цомманд и приказати тренутни датум, укупно 10 пута, са 5 секунди сна између извршења.
Ево примера резултата:
Ово је тест у петљи 1 сри фебруар 17 20:49:47 ЕЕТ 2016. Ово је тест у петљи 2 Сре Феб 17 20:49:52 ЕЕТ 2016. Ово је тест у петљи 3 Сре Феб 17 20:49:57 ЕЕТ 2016. Ово је тест у петљи 4 Сре Феб 17 20:50:02 ЕЕТ 2016. Ово је тест у петљи 5 сри фебруар 17 20:50:07 ЕЕТ 2016. Ово је тест у петљи 6 Сре Феб 17 20:50:12 ЕЕТ 2016. Ово је тест у петљи 7 Сре Феб 17 20:50:17 ЕЕТ 2016. Ово је тест у петљи 8 Сре Феб 17 20:50:22 ЕЕТ 2016. Ово је тест у петљи 9 Сре Феб 17 20:50:27 ЕЕТ 2016. Ово је тест у петљи 10 Вед Феб 17 20:50:32 ЕЕТ 2016.
Можете да промените одјек и датум команде са сопственим командама или скриптом и промените интервал спавања према вашим потребама.
# вхиле труе; до ецхо -н "Ово је тест вхиле петље"; дате; спавати 5; Готово
Ево примера резултата:
Ово је тест вхиле лоопВед 17. фебруар 20:52:32 ЕЕТ 2016. Ово је тест вхиле лоопВед Феб 17 20:52:37 ЕЕТ 2016. Ово је тест вхиле лоопВед 17. фебруар 20:52:42 ЕЕТ 2016. Ово је тест вхиле лоопВед Феб 17 20:52:47 ЕЕТ 2016. Ово је тест вхиле лоопВед Феб 17 20:52:52 ЕЕТ 2016. Ово је тест вхиле лоопВед 17. фебруар 20:52:57 ЕЕТ 2016.
Горња команда ће се извршавати све док се не појави или убио или прекинуо корисник. Може вам добро доћи ако требате покренути наредбу која се изводи у позадини и не желите рачунати на то црон.
Важно: Када користите горенаведене методе, топло се препоручује да поставите интервал довољно дуго да бисте дали довољно времена да ваша команда заврши извођење, пре следећег извођења.
Узорци у овом водичу су корисни, али немају за циљ да у потпуности замене црон услужни програм. На вама је да пронађете која вам више одговара, али ако морамо да раздвојимо употребу обе технике, рекао бих ово:
Као и увек, ако имате било каквих питања или коментара, не устручавајте се да их поставите у одељку за коментаре испод.