To jest tekst przetłumaczony maszynowo, który może zawierać błędy!
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.
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 dostępem 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
| Koncept | Przykład | Co to robi |
|---|---|---|
| Zmienna | NAZW="Ola" | Przechowuje wartość |
| Argument | $1, $2 | Dane wejściowe z linii poleceń |
| Sprawdzenie if | if [ -f "plik.txt" ]; then | Sprawdza, czy plik istnieje |
| Pętla for | for f in *.log; do | Wykonuje coś dla każdego pliku pasującego |
| Potok | cat logg.txt \| grep "ERROR" | Przekazuje wyjście z jednego polecenia do innego |
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.
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