- „Bash“ scenarijų naudojimas leidžia optimizuoti sistemos administravimą, nuosekliai vykdant komandas tekstiniuose failuose.
- Dėl „Bash“ universalumo lengva valdyti vartotojus, kurti suplanuotas atsargines kopijas ir stebėti sistemos išteklius.
- Valdymo struktūrų, kintamųjų ir vykdymo leidimų įdiegimas yra esminis dalykas kuriant patikimus automatizavimo įrankius.
Įsivaizduokite, kad jūsų, kaip sistemos administratoriaus, kasdienis gyvenimas susiveda į tų pačių komandų kartojimą konsolėje vėl ir vėl, tarsi būtumėte pasmerkti plauti indus rankomis, kai šalia jūsų yra indaplovė. procesų automatizavimas Būtent šis įrankis leidžia mums deleguoti nuobodų darbą mašinai, smarkiai sumažinant žmogiškųjų klaidų skaičių ir atlaisvinant laiko kūrybiškesnėms ar sudėtingesnėms užduotims.
Norint tai pasiekti, idealus sprendimas pateikiamas naudojant „Bash“ scenarijus. Iš esmės tai yra instrukcijų serijos rašymas paprastame tekstiniame faile, kurį operacinė sistema vykdo eilės tvarka, todėl kiekvienas, mokantis naudotis teksto redaktoriumi... optimizuoti savo serverių valdymą ir pagerinti bendrą „Linux“ darbo aplinkos produktyvumą.
Kas tiksliai yra „Bash“ scenarijus?
Kalbėdami apie Bašą, turime omenyje Bourne Again ShellScenarijus yra komandų interpretatorius, kuris veikia kaip tiltas tarp vartotojo ir operacinės sistemos branduolio. Todėl skriptas yra failas su plėtiniu .script. .sh kuriame yra komandų, kurias apvalkalas apdoroja nuosekliai, sąrašas. Iš esmės tai panašu į maisto gaminimo receptą, kuriame ingredientai yra terminalo komandos, o rezultatas yra automatizuota užduotis be žmogaus įsikišimo.
Istoriškai ši automatizavimo galimybė Unix sistemose egzistavo nuo XX a. 70-ojo dešimtmečio, tačiau 1989 m. atsiradus Bash, procesas tapo daug prieinamesnis. Šiandien didžioji dauguma Linux distribucijų naudoja šį interpretatorių, kuris garantuoja, kad šiandien parašytas scenarijus bus... lankstus ir prisitaikantis prie skirtingos aplinkosTai veikia net „Mac“ ar „Windows“, jei turite suderinamą terminalą.
Pagrindiniai pirmojo scenarijaus kūrimo principai
Norėdami pradėti programuoti, pirmiausia turite sukurti paprasto teksto failą. Galite naudoti paprastus redaktorius, pvz. Nano, Vim arba EmacsSvarbu, kad pirmoji failo eilutė būtų vadinama šebangas: #!/bin/bashŠi eilutė nurodo sistemai naudoti „Bash“ interpretatorių, kad būtų vykdomas toliau pateiktas kodas.
Pagrindinė koncepcija yra kintamųjų tvarkymas. „Bash“ kalboje nereikia deklaruoti duomenų tipo; tiesiog priskiriate pavadinimą ir reikšmę naudodami lygybės ženklą, užtikrindami, kad Nepalikite tarpų tarp kintamojo ir ženkloNorėdami vėliau iškviesti arba nuskaityti tuos duomenis, tiesiog prieš juos parašykite dolerio ženklą ($Pavyzdžiui, jei apibrėšite pasisveikinimo kintamąjį, sistema prisimins tą tekstą ir rodys jį kiekvieną kartą, kai jį iškviesite.
Srauto valdymas ir duomenų įvedimas
Kad scenarijus būtų intelektualus, jis turi priimti sprendimus. Štai kur... valdymo struktūros, tokios kaip „if-else“kurios leidžia atlikti tam tikrus veiksmus tik tuo atveju, jei įvykdoma konkreti sąlyga. Panašiai ir ciklai for y while Jie yra būtini norint peržiūrėti elementų sąrašus, pvz., vartotojų vardų masyvą arba serverių sąrašą, leidžiant vieną instrukciją kartoti tiek kartų, kiek reikia.
Norėdami scenarijų padaryti interaktyvų, naudojame komandą read, kuri leidžia užfiksuoti vartotojo įvestį per klaviatūrą ir išsaugoti jį kintamajame. Kita vertus, komanda echo Tai standartas, skirtas rodyti informaciją ekrane, palengvinantis bendravimą su procesą vykdančiu asmeniu ir labai padedantis kodo derinimo etape.
Leidimų valdymas ir vykdymas
Labai dažna pradedančiųjų klaida – bandant paleisti scenarijų paaiškėja, kad sistema neturi tam leidimo. Norėdami tai ištaisyti, turime naudoti komandą chmod +x ir po to failo pavadinimas. Tai prideda leidimas vykdytileidžianti failui iš paprasto teksto tapti vykdomąja programa.
Norėdami paleisti scenarijų, galime naudoti santykinį kelią ./mi_script.sh arba tiesiogiai jį iškviesti su bash nombre_del_archivo.shRekomenduojama visus scenarijus sutvarkyti konkrečiame aplanke, nes optimizavus darbo eigą, šie failai tampa sistemos administratoriaus išsigelbėjimas avariniais atvejais.
Svarbiausios automatizavimo komandos
Tikroji „Bash“ galia slypi vidinių ir išorinių komandų integracijoje. Navigacijai ir failų valdymui naudojame klasikinius įrankius, tokius kaip cd, ls, cp y mvTačiau magija įvyksta, kai naudojame teksto manipuliavimo įrankius, tokius kaip grep, awk, sed ir cutkurie leidžia filtruoti žurnalus, ieškoti konkrečių šablonų konfigūracijos failuose arba išgauti tikslius duomenis iš duomenų bazės.
Kalbant apie sistemos valdymą, tokios komandos kaip top, ps y systemctl Jie yra gyvybiškai svarbūs procesų ir paslaugų valdymui. Jei norime pakelti automatizavimą į kitą lygį, galime sąveikauti su tinklais per ssh o scpleidžia mums, pavyzdžiui, vykdyti komandas nuotoliniuose serveriuose arba perkelti atsargines kopijas prie išorinio įrenginio visiškai automatiškai.
Praktiniai pažangios automatizacijos pavyzdžiai
Viena iš varginančių užduočių yra masinis paskyrų kūrimas. Užuot naudoję adduser Po vieną galime sukurti scenarijų, kuris gauna vardų sąrašą ir naudoja useradd kartu su chpasswd punktas konfigūruoti kelis naudotojus ir grupes viską iš karto. Tai ypač naudinga diegiant darbo aplinkas naujoms komandoms.
Kitas klasikinis pavyzdys – atsarginių kopijų valdymas. Galime užprogramuoti scenarijų, kuris sukuria suspaustus failus su tar svarbių katalogų, tokių kaip /etc o /homeautomatiškai priskiria jiems datą ir siunčia juos į nuotolinį serverį. Kad nereikėtų žmogaus įsikišimo, naudojama: cron užduočių planuoklėleidžiant atsarginę kopiją kurti, pavyzdžiui, kiekvieną naktį 3:00 val.
Galiausiai, labai svarbu stebėti išteklius. Derinant df -h y awkGalima sukurti scenarijų, kuris stebi disko vietą ir, jei jos naudojimas viršija kritinį procentą (pvz., 90%), automatiškai siųsti įspėjamąjį el. laišką administratoriui, taip užkertant kelią sistemos sugriuvimui dėl saugyklos trūkumo.
Įvaldžius šiuos įrankius, serverio administravimas iš rankinio ir klaidų kupino darbo tampa sklandžiu ir profesionaliu procesu. Nuo vartotojų valdymo šimtuose mašinų per SSH iki nuolatinio aparatinės įrangos būklės stebėjimo – „Bash“ scenarijai yra pagrindas, ant kurio visa tai kuriama. efektyvumas bet kurioje GNU/Linux aplinkoje.


