To jest tekst przetłumaczony maszynowo, który może zawierać błędy!
Skryptowanie z użyciem Bash i PowerShell
Jeśli wykonywałeś to samo zadanie po raz trzeci, nadszedł czas, aby je zautomatyzować. Skryptowanie polega na tym, aby maszyna wykonywała za Ciebie nudną pracę, szybciej i bez zapominania o czymkolwiek.
Dlaczego automatyzować?
Niektóre zadania w działaniach IT są wykonywane często:
- Aktualizowanie serwerów
- Tworzenie użytkowników
- Tworzenie kopii zapasowych
- Restartowanie usług po aktualizacji
- Sprawdzanie, czy usługi działają
Wykonanie tych zadań ręcznie za każdym razem zajmuje czas, a łatwo zapomnieć o kroku. Skrypt robi to samo za każdym razem, bez narzekania.
Nowy na Proxmx lub konfiguracji wirtualnych maszyn?
[[Wirtualizacja Poziom 1 - Samouczek VM|🖥️ Wirtualizacja]] pokazuje, jak tworzyć i konfigurować VM w Proxmox – potrzebujesz działającej maszyny wirtualnej dla zadań z tego tematu.
Bash: Skryptowanie w Linuxie
Bash jest powłoką (terminalem) w większości dystrybucji Linuksa i może również uruchamiać skrypty. Skrypt Bash to po prostu plik tekstowy zawierający polecenia, które są wykonywane sekwencyjnie.
Twój pierwszy skrypt
Utwórz plik o nazwie oppdater.sh:
#!/bin/bash
# Aktualizuj listę pakietów i zainstaluj aktualizacje
echo "Aktualizuję system..."
sudo apt update
sudo apt upgrade -y
echo "Gotowe!"
Uczyń plik wykonywalnym i uruchom go:
chmod +x oppdater.sh
./oppdater.sh
# Zmień uprawnienia skryptu na wykonywalny
# Uruchom skrypt
#!/bin/bash
Pierwszy wiersz nazywany jest shebang. Informuje on system operacyjny, że plik ma być uruchomiony za pomocą Bash. Bez niego system nie wie, który program ma interpretować skrypt.
Zmienne i dane wejściowe
#!/bin/bash
BRUKERNAVN=$1
if [ -z "$BRUKERNAVN" ]; then
echo "Użycie: ./lag_bruker.sh <nazwa_użytkownika>"
exit 1
fi
sudo adduser "$BRUKERNAVN"
sudo usermod -aG sudo "$BRUKERNAVN"
echo "Użytkownik $BRUKERNAVN został utworzony z uprawnieniami sudo."
Tutaj skrypt pobiera nazwę użytkownika jako argument ($1 to pierwszy argument). Jeśli uruchomisz ./lag_bruker.sh ola, utworzy to użytkownika ola i przyzna mu dostęp sudo.
Przydatne koncepcje Bash
| Koncepcja | Przykład | Co robi |
|---|---|---|
| Zmienna | NAVN="Ola" | Przechowuje wartość |
| Argument | $1, $2 | Wejście z linii komend |
| Instrukcja if | if [ -f "fil.txt" ]; then | Sprawdza, czy plik istnieje |
| Pętla for | for f in *.log; do | Wykonuje czynność dla każdego pasującego pliku |
| Potok (Pipe) | cat logg.txt \| grep "ERROR" | Przekazuje wyjście jednej komendy do drugiej |
PowerShell: Skryptowanie w Windows
PowerShell to odpowiednik Bash w systemie Windows, ale jest bardziej zorientowany obiektowo. Pracuje z obiektami, a nie tylko z tekstem, co czyni go potężnym narzędziem do administrowania systemami Windows.
Przykład: Sprawdź miejsce na dysku
# Sprawdź wolne miejsce na dysku
Get-PSDrive -PSProvider FileSystem | Select-Object Name,
@{Name="Użyte (GB)"; Expression={[math]::Round($_.Used / 1GB, 2)}},
@{Name="Wolne (GB)"; Expression={[math]::Round($_.Free / 1GB, 2)}}
Przykład: Instalowanie oprogramowania za pomocą Winget
# Zainstaluj wiele programów jednocześnie
winget install Mozilla.Firefox
winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Python.Python.3.12
To jest znacznie szybsze niż ręczne pobieranie i instalowanie wszystkiego. Możesz zapisać listę w skrypcie i uruchamiać go za każdym razem, gdy konfigurujesz nową maszynę.
Zadanie 1 - Utwórz skrypt aktualizacyjny
Napisz skrypt Bash, który:
- Aktualizuje listę pakietów
- Instaluje wszystkie dostępne aktualizacje
- Restartuje Nginx (lub inną usługę, którą masz uruchomioną)
- Wyświetla komunikat po zakończeniu
Uruchom go na jednej ze swoich maszyn wirtualnych i sprawdź, czy działa.
Czy nie masz jeszcze uruchomionego Nginxa ani innej usługi?
[[Docker Level 1 - Getting started|🐳 Docker - Getting started]] konfiguruje kontener Nginxa, którego możesz użyć do tego zadania.
Zadanie 2 - Automatyzacja konfiguracji maszyny
Utwórz skrypt PowerShell (.ps1) lub prostą listę poleceń winget install dla wszystkich programów, których potrzebujesz na nowym komputerze. Zastanów się nad:
- Jakie programy zawsze instalujesz?
- Czy możesz również skonfigurować niektóre ustawienia za pomocą skryptu?
Następnym razem, gdy skonfigurujesz maszynę, po prostu uruchom skrypt zamiast spędzać godzinę na ręcznej instalacji.
Podsumowanie
- Jeśli robisz coś więcej niż dwa razy, rozważ automatyzację tego
- Bash (Linux) i PowerShell (Windows) to najpopularniejsze narzędzia do skryptów
- Skrypty Bash to pliki tekstowe zawierające polecenia, które są wykonywane sekwencyjnie
- PowerShell operuje na obiektach i jest potężny w administracji Windows
- Zmienne, argumenty, instrukcje warunkowe if i pętle to podstawowe elementy składowe