Tämä on konekäännetty teksti, joka saattaa sisältää virheitä!
Jos olet tehnyt saman tehtävän kolmannen kerran, on aika automatisoida se. Skripting tarkoittaa, että annat koneen tehdä tylsän työn puolestasi, nopeammin ja ilman että se unohtaa mitään.
Miksi automatisoida?
Jotkut IT-toimintojen tehtävät tehdään usein:
- Palvelimien päivittäminen
- Käyttäjien luominen
- Varmuuskopiointi
- Palveluiden uudelleenkäynnistys päivityksen jälkeen
- Palveluiden toiminnan tarkistaminen
Näiden tekeminen manuaalisesti joka kerta vie aikaa, ja vaiheen unohtaminen on helppoa. Skripti tekee saman asian joka kerta valittamatta.
Bash: Skriptaus Linuxissa
Bash on kuori (pääte) useimmissa Linux-jakeluissa, ja se voi myös suorittaa skriptejä. Bash-skripti on yksinkertaisesti tekstitiedosto, joka sisältää komentoja, jotka suoritetaan järjestyksessä.
Ensimmäinen skriptisi
Luo tiedosto nimeltä oppdater.sh:
#!/bin/bash
# Päivitä pakettiluettelo ja asenna päivitykset
echo "Päivitetään järjestelmää..."
sudo apt update
sudo apt upgrade -y
echo "Valmis!"
Tee tiedostosta suoritettava ja suorita se:
chmod +x oppdater.sh
./oppdater.sh
# Gjør skriptet kjørbart
# Kjør skriptet
chmod +x oppdater.sh
./oppdater.sh
# Tee skriptistä suoritettava
# Suorita skripti
#!/bin/bash
Ensimmäistä riviä kutsutaan shebangiksi. Se kertoo käyttöjärjestelmälle, että tiedosto suoritetaan Bashilla. Ilman sitä järjestelmä ei tiedä, millä ohjelmalla skripti tulkitaan.
Muuttujat ja syötteet
#!/bin/bash
BRUKERNAVN=$1
if [ -z "$BRUKERNAVN" ]; then
echo "Käyttö: ./lag_bruker.sh <brukernavn>"
exit 1
fi
sudo adduser "$BRUKERNAVN"
sudo usermod -aG sudo "$BRUKERNAVN"
echo "Käyttäjä $BRUKERNAVN luotu sudo-oikeuksilla."
Tässä skripti ottaa käyttäjätunnuksen argumentiksi ($1 on ensimmäinen argumentti). Jos ajat ./lag_bruker.sh ola, se luo käyttäjän ola ja antaa sille sudo-oikeudet.
Hyödyllisiä Bash-konsepteja
| Konsepti | Esimerkki | Mitä se tekee |
|---|---|---|
| Muuttuja | NIMI="Ola" | Tallentaa arvon |
| Argumentti | $1, $2 | Syöte komentoriviltä |
| Jos-tarkistus | if [ -f "tiedosto.txt" ]; then | Tarkistaa, onko tiedosto olemassa |
| For-silmukka | for f in *.log; do | Tekee jotain jokaiselle vastaavalle tiedostolle |
| Putki | cat logi.txt \| grep "ERROR" | Lähettää yhden komennon tulosteen toiselle |
PowerShell: Skriptaus Windowsissa
PowerShell on Windowsin vastaus Bashille, mutta se on enemmän olio-ohjelmointiin suuntautunut. Se toimii objektien eikä pelkän tekstin kanssa, mikä tekee siitä tehokkaan Windows-järjestelmien hallinnassa.
Esimerkki: Tarkista levytila
# Tarkista vapaa levytila
Get-PSDrive -PSProvider FileSystem | Select-Object Name,
@{Name="Käytetty (GB)"; Expression={[math]::Round($_.Used / 1GB, 2)}},
@{Name="Vapaa (GB)"; Expression={[math]::Round($_.Free / 1GB, 2)}}
Esimerkki: Ohjelmiston asentaminen Wingetillä
# Asenna useita ohjelmia kerralla
winget install Mozilla.Firefox
winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Python.Python.3.12
Tämä on paljon nopeampaa kuin kaiken lataaminen ja asentaminen manuaalisesti. Voit tallentaa listan skriptiin ja ajaa sen aina, kun asetat uuden koneen pystyyn.
Tehtävä 1 – Päivitysskriptin luominen
Kirjoita Bash-skripti, joka:
- Päivittää pakettiluettelon
- Asentaa kaikki saatavilla olevat päivitykset
- Käynnistää Nginx:n uudelleen (tai jonkin muun käynnissä olevan palvelun)
- Tulostaa viestin, kun se on valmis
Suorita se yhdellä virtuaalikoneistasi ja varmista, että se toimii.
Tehtävä 2 – Automatisoi koneen asennus
Luo PowerShell-skripti (.ps1) tai yksinkertainen lista winget install-komentoja kaikille ohjelmille, joita tarvitset uudella tietokoneella. Mieti:
- Mitä ohjelmia asennat aina?
- Voitko myös määrittää joitain asetuksia skriptillä?
Seuraavan kerran kun asennat koneen, suorita vain skripti manuaalisen asennuksen sijaan, joka veisi tunnin.
Yhteenveto
- Jos teet jotain enemmän kuin kahdesti, harkitse sen automatisointia
- Bash (Linux) ja PowerShell (Windows) ovat yleisimmät skriptausvälineet
- Bash-skriptit ovat tekstitiedostoja, jotka sisältävät komentoja, jotka suoritetaan järjestyksessä
- PowerShell toimii objektien kanssa ja on tehokas Windows-hallinnassa
- Muuttujat, argumentit, if-tarkistukset ja silmukat ovat tärkeimmät rakennuspalikat