- Bash skriptu izmantošana ļauj optimizēt sistēmas administrēšanu, secīgi izpildot komandas teksta failos.
- Bash daudzpusība atvieglo lietotāju pārvaldību, plānotu dublējumu izveidi un sistēmas resursu uzraudzību.
- Vadības struktūru, mainīgo un izpildes atļauju ieviešana ir būtiska spēcīgu automatizācijas rīku izstrādei.
Iedomājieties, ka jūsu ikdienas dzīve kā sistēmas administratoram nozīmē atkārtot vienas un tās pašas komandas konsolē atkal un atkal, it kā jūs būtu nolemts mazgāt traukus ar rokām, ja trauku mazgājamā mašīna atrodas tieši blakus. procesu automatizācija Tieši šis rīks ļauj mums deleģēt nogurdinošu darbu mašīnai, ievērojami samazinot cilvēciskās kļūdas un atbrīvojot laiku radošākiem vai sarežģītākiem uzdevumiem.
Lai to panāktu, Bash skriptēšana tiek piedāvāta kā ideāls risinājums. Būtībā tā sastāv no virknes instrukciju ierakstīšanas vienkāršā teksta failā, ko operētājsistēma izpilda noteiktā secībā, ļaujot ikvienam, kurš prot lietot teksta redaktoru... optimizēt serveru pārvaldību un uzlabot jūsu Linux darba vides kopējo produktivitāti.
Kas īsti ir Bash skripts?
Kad mēs runājam par Bašu, mēs domājam Bourne Again ShellSkripts ir komandu interpretētājs, kas darbojas kā tilts starp lietotāju un operētājsistēmas kodolu. Tāpēc skripts ir fails ar paplašinājumu .script. .sh kas satur komandu sarakstu, ko čaula apstrādā secīgi. Būtībā tas ir kā ēdiena gatavošanas recepte, kur sastāvdaļas ir termināļa komandas, un rezultāts ir automatizēts uzdevums bez cilvēka iejaukšanās.
Vēsturiski šī automatizācijas iespēja Unix sistēmās pastāvēja jau kopš 70. gs. septiņdesmitajiem gadiem, taču līdz ar Bash parādīšanos 1989. gadā process kļuva daudz pieejamāks. Mūsdienās lielākā daļa Linux distribūciju izmanto šo interpretatoru, kas garantē, ka mūsdienās rakstīts skripts būs elastīgs un pielāgojams dažādām vidēmTas darbojas pat operētājsistēmās Mac vai Windows, ja jums ir saderīgs terminālis.
Pirmā skripta izveides pamatprincipi
Lai sāktu programmēšanu, pirmais solis ir vienkārša teksta faila izveide. Varat izmantot vienkāršus redaktorus, piemēram, Nano, Vim vai EmacsIr svarīgi, lai faila pirmā rinda būtu tā, ko sauc par zaņķis: #!/bin/bashŠī rinda norāda sistēmai izmantot Bash interpretatoru, lai izpildītu sekojošo kodu.
Galvenais jēdziens ir mainīgo apstrāde. Bash valodā nav nepieciešams deklarēt datu tipu; jūs vienkārši piešķirat nosaukumu un vērtību, izmantojot vienādības zīmi, pārliecinoties, ka Neatstājiet atstarpes starp mainīgo un zīmiLai vēlāk izsauktu vai nolasītu šos datus, vienkārši pirms tiem ievietojiet dolāra zīmi ($Piemēram, ja definējat apsveikuma mainīgo, sistēma atcerēsies šo tekstu un parādīs to katru reizi, kad to izsauksit.
Plūsmas kontrole un datu ievade
Lai skripts būtu inteliģents, tam ir jāpieņem lēmumi. Šeit notiek... vadības struktūras, piemēram, if-elsekas ļauj izpildīt noteiktas darbības tikai tad, ja ir izpildīts konkrēts nosacījums. Līdzīgi, cikli for y while Tie ir būtiski elementu sarakstu, piemēram, lietotājvārdu masīva vai serveru saraksta, šķērsošanai, ļaujot vienu instrukciju atkārtot tik reižu, cik nepieciešams.
Lai skriptu padarītu interaktīvu, mēs izmantojam komandu read, kas ļauj uztvert lietotāja ievadi izmantojot tastatūru un saglabājiet to mainīgajā. No otras puses, komanda echo Tas ir standarts informācijas attēlošanai ekrānā, atvieglojot saziņu ar procesu veicošo personu un ievērojami palīdzot koda atkļūdošanas fāzē.
Atļauju pārvaldība un izpilde
Ļoti izplatīta kļūda iesācēju vidū ir mēģinājums palaist skriptu un atklāt, ka sistēmai nav atļaujas to darīt. Lai to labotu, mums jāizmanto komanda chmod +x kam seko faila nosaukums. Tas pievieno izpildīt atļaujuļaujot failam pāriet no vienkārša teksta uz izpildāmu programmu.
Lai palaistu skriptu, mēs varam izmantot relatīvo ceļu ./mi_script.sh vai izsaukt to tieši ar bash nombre_del_archivo.shIeteicams visus skriptus sakārtot noteiktā mapē, jo pēc darbplūsmas optimizācijas šie faili kļūst par sistēmas administratora glābiņš ārkārtas situācijās.
Būtiskas komandas automatizācijai
Bash patiesais spēks slēpjas iekšējo un ārējo komandu integrācijā. Navigācijai un failu pārvaldībai mēs paļaujamies uz tādiem klasiskiem paņēmieniem kā cd, ls, cp y mvTomēr maģija notiek, kad izmantojam teksta manipulācijas rīkus, piemēram, grep, awk, sed un cutkas ļauj filtrēt žurnālus, meklēt konkrētus modeļus konfigurācijas failos vai iegūt precīzus datus no datubāzes.
Attiecībā uz sistēmas pārvaldību, tādas komandas kā top, ps y systemctl Tie ir vitāli svarīgi procesu un pakalpojumu pārvaldībai. Ja vēlamies pacelt automatizāciju jaunā līmenī, varam mijiedarboties ar tīkliem, izmantojot ssh o scpļaujot mums, piemēram, izpildīt komandas attālos serveros vai pārsūtīt dublējumkopijas uz ārēju ierīci pilnīgi automātiski.
Praktiski piemēri par progresīvu automatizāciju
Viens no visnogurdinošākajiem uzdevumiem ir kontu masveida izveide. Tā vietā, lai izmantotu adduser Pa vienam mēs varam izveidot skriptu, kas saņem vārdu sarakstu un izmanto useradd kopā ar chpasswd par konfigurēt vairākus lietotājus un grupas visu uzreiz. Tas ir īpaši noderīgi, ieviešot darba vides jaunām komandām.
Vēl viens klasisks piemērs ir dublējumu pārvaldība. Mēs varam ieprogrammēt skriptu, kas izveido saspiestus failus ar tar kritisku direktoriju, piemēram, /etc o /homepiešķir tiem automātisku datumu un nosūta tos uz attālo serveri. Lai izvairītos no cilvēka iejaukšanās, tiek izmantots sekojošais: cron uzdevumu plānotājsļaujot dublējumam darboties, piemēram, katru nakti plkst. 3:00.
Visbeidzot, resursu uzraudzība ir ļoti svarīga. Apvienojot df -h y awkIr iespējams izveidot skriptu, kas uzrauga diska vietu un, ja tās izmantošana pārsniedz kritisko procentuālo daļu (piemēram, 90%), automātiski nosūtīt brīdinājuma e-pastu administratoram, tādējādi novēršot sistēmas sabrukumu krātuves trūkuma dēļ.
Šo rīku apgūšana pārveido serveru administrēšanu no manuāla un kļūdu pakļauta uzdevuma par vienmērīgu un profesionālu procesu. Sākot ar lietotāju pārvaldību simtiem datoru, izmantojot SSH, līdz pastāvīgai aparatūras stāvokļa uzraudzībai, Bash skriptēšana ir pamats, uz kura tā ir veidota. efektivitāte jebkurā GNU/Linux vidē.


