Ĉi tio estas maŝintradukita teksto kiu povas enhavi erarojn!
Se vi faris la saman taskon por la tria fojo, estas tempo por automatigi ĝin. Skriptado temas pri permesi al la maŝino fari la enuigan laboron por vi, pli rapide kaj sen forgesi ion.
Kialoŭ aŭtomatigi?
Kelkaj taskoj en IT-operacioj ofte faratas:
- Ĝisdatigi servilojn
- Krei uzantojn
- Fari sekurkopion
- Rekomenci servojn post ĝisdatigo
- Kontroli ĉu servoj funkcias
Fari ĉi tiujn mane ĉiufoje prenas tempon, kaj estas facile forgesi paŝon. Skripto faras la saman ĉiufoje, sen plendi.
Bash: Skriptado en Linux
Bash estas la ŝelo (terminalo) en la plejparto de la Linux-distribuaĵoj, kaj ĝi ankaŭ povas ekzekuti skriptojn. Bash-skripto estas simple teksta dosiero kun komandoj kiuj estas ekzekutataj laŭvice.
Via unua skripto
Kreu dosieron nomatan ĝisdatigu.sh:
#!/bin/bash
# Ĝisdatigu la pakliston kaj instalu ĝisdatigojn
echo "Oppdaterer systemet..."
sudo apt update
sudo apt upgrade -y
echo "Ferdig!"
Faru la dosieron ekzekutebla kaj ruligu ĝin:
chmod +x oppdater.sh
./oppdater.sh
# Gjør skriptet kjørbart
# Kjører skriptet
chmod +x oppdater.sh
./oppdater.sh
# Faru la skripton ekzekutebla
# Kuras la skripton
#!/bin/bash
La unua linio estas nomata shebang. Ĝi diras al la operaciumo, ke la dosiero devas esti rulata per Bash. Sen ĝi, la sistemo ne scias, kiu programo devas interpreti la skripton.
Variabloj kaj enigo
#!/bin/bash
BRUKERNAVN=$1
if [ -z "$BRUKERNAVN" ]; then
echo "Uzo: ./lag_bruker.sh <brukernavn>" # Uzo: ./lag_bruker.sh <brukernavn>
exit 1
fi
sudo adduser "$BRUKERNAVN"
sudo usermod -aG sudo "$BRUKERNAVN"
echo "Uzanto $BRUKERNAVN kreita kun sudo-rajto." # Uzanto $BRUKERNAVN kreita kun sudo-rajto.
Jen la skripto prenas uznomon kiel argumenton ($1 estas la unua argumento). Se vi ruligas ./lag_bruker.sh ola, ĝi krios la uzanton ola kaj donos al ĝi sudo-rajton.
Utile Bash-Konceptoj
| Koncepto | Ekzemplo | Kion ĝi faras |
|---|---|---|
| Variablo | NAVN="Ola" | Konservas valoron |
| Argumento | $1, $2 | Enigo de la komandlinio |
| If-Kontrolo | if [ -f "fil.txt" ]; then | Kontrolas ĉu dosiero ekzistas |
| For-Ciklo | for f in *.log; do | Faras ion por ĉiu dosiero kiu kongruas |
| Pipo | cat logg.txt \| grep "ERROR" | Sendas eliron de komando al alia |
PowerShell: Skriptado en Windows
PowerShell estas la respondo de Windows al Bash, sed ĝi estas pli objektorientita. Ĝi laboras kun objektoj anstataŭ nur teksto, kio faras ĝin potenca por administrado de Windows-sistemoj.
Ekzemplo: Kontrolu diskan spacon
# Kontrolu disponeblan diskan spacon
Get-PSDrive -PSProvider FileSystem | Select-Object Name,
@{Name="Brukt (GB)"; Expression={[math]::Round($_.Used / 1GB, 2)}},
@{Name="Ledig (GB)"; Expression={[math]::Round($_.Free / 1GB, 2)}}
Ekzemplo: Instali programaron per Winget
Winget estas la pakaĵmanĝilo por Windows. Ĝi permesas al vi instali kaj administri programojn per komanda linio. Ĉi tio povas esti aparte utila por automatigo kaj skriptado.
Instalado de Winget
Winget estas inkluzivita en Windows 10, versio 1709 aŭ pli nova. Se vi uzas pli malnovan version de Windows, vi devas ĝisdatigi vian operaciumon.
Por kontroli ĉu Winget estas instalita, malfermu PowerShell aŭ Komandan Prompton kaj tajpu la jenan komandon:
winget --version
Se Winget estas instalita, vi vidos la version de Winget. Alie, vi ricevos eraromesaĝon.
Serĉado de programoj
Vi povas serĉi programojn per Winget per la komando winget search. Ekzemple, por serĉi Visual Studio Code, tajpu:
winget search Visual Studio Code
Ĉi tio montros liston de disponeblaj pakaĵoj, kiuj kongruas kun via serĉo.
Instalado de programo
Por instali programon, uzu la komandon winget install. Ekzemple, por instali Visual Studio Code, tajpu:
winget install Microsoft.VisualStudioCode
Winget elŝutos kaj instalos la programon por vi.
Listigo de instalitaj programoj
Vi povas listigi ĉiujn instalitajn programojn per Winget per la komando winget list.
Forigo de programo
Por forigi programon, uzu la komandon winget uninstall. Ekzemple, por forigi Visual Studio Code, tajpu:
winget uninstall Microsoft.VisualStudioCode
# Instaligi plurajn programojn samtempe
winget install Mozilla.Firefox
winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Python.Python.3.12
Tio estas multe pli rapida ol elŝuti kaj instali ĉion mane. Vi povas konservi la liston en skripto kaj ruli ĝin ĉiun fojon kiam vi starigas novan maŝinon.
Tasko 1 - Kreu ĝisdatigan skripton
Skribu Bash-skripton kiu:
- Ĝisdatigas la paketan liston
- Instalas ĉiujn disponeblajn ĝisdatigojn
- Restartas Nginx (aŭ alian servon kiun vi havas ruliĝantan)
- Elprintas mesaĝon kiam ĝi estas finita
Rulu ĝin sur unu el viaj VM-oj kaj kontrolu, ke ĝi funkcias.
Tasko 2 - Automatigu maŝinkonfiguradon
Kreu PowerShell-skripton (.ps1) aŭ simplan liston de winget install-komandoj por ĉiuj programoj, kiujn vi bezonas sur nova komputilo. Pensu pri:
- Kiujn programojn vi ĉiam instaldas?
- Ĉu vi ankaŭ povas konfiguri kelkajn agordojn per la skripto?
La venontan fojon, kiam vi konfigurados maŝinon, vi simple rulos la skripton anstataŭ uzi horon por mana instalado.
Resumo
- Se vi faras ion pli ol dufoje, konsideru automatigi ĝin
- Bash (Linuksio) kaj PowerShell (Vindozoj) estas la plej oftaj iloj por skriptado
- Bash-skriptoj estas tekstaj dosieroj kun komandoj kiuj estas ekzekutataj laŭvice
- PowerShell laboras kun objektoj kaj estas potenca por administrado de Vindozoj
- Variabloj, argumentoj, if-kontrolaj deklaroj kaj bukleoj estas la plej gravaj konstruaj blokoj