- Bruk av Bash-skript muliggjør optimalisering av systemadministrasjon gjennom sekvensiell utførelse av kommandoer i tekstfiler.
- Bashs allsidighet gjør det enkelt å administrere brukere, opprette planlagte sikkerhetskopier og overvåke systemressurser.
- Implementering av kontrollstrukturer, variabler og utførelsestillatelser er grunnleggende for å utvikle robuste automatiseringsverktøy.
Tenk deg at hverdagen din som systemadministrator koker ned til å gjenta de samme kommandoene i konsollen om og om igjen, som om du var dømt til å vaske opp for hånd når det står en oppvaskmaskin rett ved siden av deg. prosessautomatisering Det er nettopp dette verktøyet som lar oss delegere kjedelig arbeid til maskinen, noe som drastisk reduserer menneskelige feil og frigjør tid til mer kreative eller komplekse oppgaver.
For å oppnå dette presenteres Bash-skripting som den ideelle løsningen. I bunn og grunn består det av å skrive en serie instruksjoner i en ren tekstfil som operativsystemet kjører i rekkefølge, slik at alle som vet hvordan man bruker en teksteditor kan... optimaliser administrasjonen av serverne dine og forbedre den generelle produktiviteten til Linux-arbeidsmiljøet ditt.
Hva er egentlig et Bash-skript?
Når vi snakker om Bash, refererer vi til Bourne Again ShellEt skript er en kommandotolk som fungerer som en bro mellom brukeren og operativsystemkjernen. Derfor er et skript en fil med filtypen .script. .sh som inneholder en liste over kommandoer som skallet behandler sekvensielt. Det er i hovedsak som en matoppskrift der ingrediensene er terminalkommandoer og resultatet er en automatisert oppgave uten menneskelig inngripen.
Historisk sett har denne muligheten til å automatisere eksistert i Unix-systemer siden 70-tallet, men med ankomsten av Bash i 1989 ble prosessen mye mer tilgjengelig. I dag bruker de aller fleste Linux-distribusjoner denne tolken, noe som garanterer at et skript skrevet i dag vil være fleksibel og tilpasningsdyktig til ulike miljøerDet fungerer til og med på Mac eller Windows hvis du har en kompatibel terminal.
Grunnleggende prinsipper for å lage ditt første manus
For å begynne programmeringen er det første trinnet å opprette en ren tekstfil. Du kan bruke enkle redigeringsprogrammer som Nano, Vim eller EmacsDet er viktig at den første linjen i filen er den som heter shebang: #!/bin/bashDenne linjen forteller systemet at det skal bruke Bash-tolken til å kjøre koden som følger.
Et nøkkelkonsept er variabelhåndtering. I Bash trenger du ikke å deklarere datatypen; du tildeler ganske enkelt et navn og en verdi ved hjelp av likhetstegnet, og sørger for at Ikke la det være mellomrom mellom variabelen og tegnetFor å hente eller lese disse dataene senere, sett ganske enkelt dollartegnet ( foran dem$Hvis du for eksempel definerer en hilsenvariabel, vil systemet huske den teksten og vise den hver gang du kaller den.
Flytkontroll og datainndata
For at et manus skal være intelligent, må det ta avgjørelser. Det er her ... kontrollstrukturer som if-elsesom tillater at visse handlinger utføres bare hvis en spesifikk betingelse er oppfylt. På samme måte, løkker for y while De er viktige for å krysse lister over elementer, for eksempel en rekke brukernavn eller en liste over servere, slik at en enkelt instruksjon kan gjentas så mange ganger som nødvendig.
For å gjøre skriptet interaktivt bruker vi kommandoen read, som tillater fange opp brukerinndata via tastaturet og lagre det i en variabel. På den annen side, kommandoen echo Det er standarden for å vise informasjon på skjermen, forenkle kommunikasjonen med personen som kjører prosessen og være til stor hjelp under feilsøkingsfasen for koden.
Tillatelseshåndtering og utførelse
En veldig vanlig feil blant nybegynnere er å prøve å kjøre et skript og oppdage at systemet ikke har tillatelse til å gjøre det. For å fikse dette må vi bruke kommandoen chmod +x etterfulgt av filnavnet. Dette legger til utføre tillatelseslik at filen kan gå fra å være en enkel tekstfil til et kjørbart program.
For å starte skriptet kan vi bruke den relative banen ./mi_script.sh eller påkalle den direkte med bash nombre_del_archivo.shDet anbefales å organisere alle skript i en bestemt mappe, siden disse filene blir de som blir optimalisert når arbeidsflyten er systemadministratorens frelse i nødssituasjoner.
Viktige kommandoer for automatisering
Den sanne kraften til Bash ligger i integreringen av interne og eksterne kommandoer. For navigering og filbehandling er vi avhengige av klassikere som cd, ls, cp y mvMagien skjer imidlertid når vi bruker tekstmanipuleringsverktøy som grep, awk, sed og cutsom lar deg filtrere logger, søke etter spesifikke mønstre i konfigurasjonsfiler eller trekke ut presise data fra en database.
Når det gjelder systemadministrasjon, kommandoer som top, ps y systemctl De er viktige for å administrere prosesser og tjenester. Hvis vi ønsker å ta automatisering til et nytt nivå, kan vi samhandle med nettverk gjennom ssh o scpslik at vi for eksempel kan utføre kommandoer på eksterne servere eller overføre sikkerhetskopier til en ekstern maskin på en helautomatisk måte.
Praktiske eksempler på avansert automatisering
En av de mest kjedelige oppgavene er masseoppretting av kontoer. I stedet for å bruke adduser En etter en kan vi lage et skript som mottar en liste over navn og bruksområder useradd sammen med chpasswd til konfigurer flere brukere og grupper alt på én gang. Dette er spesielt nyttig når man distribuerer arbeidsmiljøer for nye team.
Et annet klassisk eksempel er sikkerhetskopieringshåndtering. Vi kan programmere et skript som lager komprimerte filer med tar av kritiske kataloger som /etc o /hometildeler dem en automatisk dato og sender dem til en ekstern server. For å unngå behov for menneskelig inngripen brukes følgende: cron-oppgaveplanleggerslik at sikkerhetskopieringen kjøres, for eksempel hver natt klokken 3:00.
Til slutt er ressursovervåking avgjørende. Ved å kombinere df -h y awkDet er mulig å lage et skript som overvåker diskplass, og hvis bruken overstiger en kritisk prosentandel (for eksempel 90 %), send automatisk en e-postvarsling til administratoren, og dermed forhindre at systemet kollapser på grunn av mangel på lagringsplass.
Å mestre disse verktøyene forvandler serveradministrasjon fra en manuell og feilutsatt oppgave til en smidig og profesjonell prosess. Fra å administrere brukere på tvers av hundrevis av maskiner via SSH til kontinuerlig overvåking av maskinvaretilstand, er Bash-skripting fundamentet det er bygget på. effektivitet i ethvert GNU/Linux-miljø.


