Jei pastebėsite, kad vėl ir vėl vykdote tą pačią komandą, gali būti geresnis būdas.
Kartais reikia pakartotinai paleisti komandą ar programą, kad galėtumėte stebėti įvairius sistemos aspektus, pvz., vykstančius procesus, vietos diske naudojimą ar vartotojų prisijungimus. „Linux Watch“ komanda leidžia automatizuoti šias užduotis, nereikės jų vėl ir vėl vykdyti rankiniu būdu.
Naudodami šią komandą galite stebėti sistemos veiklą realiuoju laiku, pvz., vartotojų prisijungimus, tinklo būseną, atminties ir procesoriaus naudojimą, vietos diske ir kt. Pažiūrėkime, kaip naudoti laikrodžio komandą Linux.
Kas yra budėjimo komanda?
„Watch Linux“ komanda paleidžia nurodytą komandą arba programą pakartotinai, reguliariais intervalais ir rodo jos išvestį terminale. Tai leidžia stebėti išvesties pokyčius realiu laiku. Jis atnaujina išvestį kiekvienu intervalu, perrašydamas ankstesnę komandos išvestį. Pagal numatytuosius nustatymus komanda kartojama kas dvi sekundes ir tęsiama tol, kol rankiniu būdu nustosite ją naudoti Ctrl + C.
Žiūrėkite komandų sintaksę
Žiūrėjimo komandos sintaksė yra tokia:
watch options
Yra įvairių komandų eilutės parinkčių, kurias galima naudoti su laikrodžio komanda. Jei vykdysite laikrodžio komandą be jokių parinkčių, nurodyta komanda bus paleista kas dvi sekundes. Pavyzdžiui, taip bus parodyta komandos ls išvestis:
watch ls -l ~/
Išvestis parodys pakeitimus katalogų sąraše, jei failas yra sukurtas, ištrintas arba pasikeičia jo dydis, o išvestis atnaujinama kas dvi sekundes.
Vykdykite komandą kas X sekundes naudodami laikrodį
Galite pakeisti stebėjimo komandos atnaujinimo intervalą. Tai reiškia, kad galite nurodyti laikrodžio komandai palaukti x sekundžių prieš kartodami komandą. Norėdami pakeisti atnaujinimo intervalą, naudokite -n parinktis, po kurios nurodomas laiko intervalas sekundėmis.
watch -n
Pavyzdžiui, norėdami paleisti komandą kas 5 sekundes, paleiskite:
watch -n 5
Pažymėkite pakeitimus tarp atnaujinimų
Laikrodžio komanda perrašo savo išvestį kiekvieno atnaujinimo metu. Naudojant -d parinktį, taip pat galite pabrėžti ankstesnės ir atnaujintos išvesties pakeitimus.
watch -d
Pagal numatytuosius nustatymus stebėjimo komanda kiekvienos išvesties viršuje rodo antraštę, kurioje yra atnaujinimo intervalas, komandos pavadinimas ir dabartinė sistemos data bei laikas. Galite pašalinti antraštę iš išvesties naudodami -t variantas:
watch -t
Leisti pyptelėjimus klaidos atveju
Kai Linux procesas baigsis, jis grąžina išėjimo kodą. Pagal susitarimą, sėkmės vertė yra 0, o ne nulis, tai reiškia klaidą. Laikrodžio komanda -b parinktis atkuria pyptelėjimą, jei komanda grąžina nulinį išėjimą.
Tarkime, kad norite stebėti sshd.service ir gauti pranešimą, kai paslauga sustos; jūs naudotumėte:
watch -b sudo systemctl status sshd.service
Ši komanda pypsi, kai paslauga sustos. Kai paslauga bus atnaujinta, pyptelėjimas nustos. Norėdami tai patikrinti, atidarykite kitą terminalo langą ir sustabdykite paslaugą. Taip bus nuolat pypsi, kol vėl pradėsite paslaugą. Tačiau norint naudotis šia funkcija, sistemoje turi būti įdiegtas pyptelėjimo paketas.
Išeikite iš laikrodžio Command on Output Change
Taip pat galite nurodyti laikrodžio komandai sustabdyti veikimą ir išeiti, kai pasikeičia komandos išvestis. Tai galite padaryti naudodami -g variantas. Ši parinktis labai naudinga scenarijuose, kai laukiate tam tikrų išvesties pakeitimų.
Pasikeitus išėjimui, laikrodžio komanda sustos. Šį naudojimą galite derinti su echo komanda, kad ekrane būtų rodomas pranešimas.
Pavyzdžiui, apsvarstykite scenarijų, kai laukiate, kol failas pateks į jūsų katalogą. Ši komanda stebės nurodyto failo katalogą. Kai tik ji atvyks, laikrodžio komanda nustos veikti ir pranešimas atkeliavo failas bus rodomas terminale.
watch -g "ls -l | grep filename" && echo "file arrived"
Kitas naudingas pavyzdys yra pranešimas, kai konkretus vartotojas prisijungia prie jūsų sistemos:
watch -g "who | grep username" && echo "username logged in"
Ši komanda stebės išvestį who komandą kuri išvardija prisijungusius vartotojus. Kai vartotojas prisijungs, stebėjimo komanda sustos ir terminale parodys pranešimą.
Panašiai galite nurodyti laikrodžio komandai sustabdyti paslaugą, kai faile atliekami kai kurie pakeitimai. Atminkite, kad naudodami komandų grandinę su vamzdeliais, visą komandą turėsite įdėti į kabutes.
Stebėkite veiklą savo „Linux“ sistemoje
Jei pastebėsite, kad tą patį procesą atliekate pakartotinai, apsvarstykite galimybę jį automatizuoti naudodami laikrodžio komandą. Tai apsaugo jus nuo dažno komandų įvedimo, kad pamatytumėte, kas pasikeitė.
Taip pat galite naudoti stebėjimo komandą su kitomis Linux komandomis, kad galėtumėte stebėti sistemos išteklius ir veiklą bei stebėti failų ar katalogų pakeitimus.