0Pricing
DevOps Bootcamp · Lekcja

Automatyzacja administracji systemem

Zastosuje Pan/Pani skrypty Bash do automatyzacji typowych zadań administracyjnych, takich jak tworzenie kopii zapasowych, rotacja logów i monitorowanie.

Automatyzacja administracji systemem to bezpłatna lekcja DevOps Bootcamp na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej DevOps Bootcamp, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Wprowadzenie do automatyzacji administracji systemem

Witaj! W tej lekcji zajmiemy się automatyzowaniem typowych zadań administracyjnych za pomocą skryptów Bash. Właśnie tutaj Twoje umiejętności tworzenia skryptów naprawdę się przydadzą!

Automatyzacja sprawia, że zarządzanie systemem jest wydajniejsze, bardziej spójne i mniej podatne na błędy ludzkie. To kluczowa umiejętność każdego programisty i specjalisty IT.

Dlaczego automatyzować zadania administracyjne?

Automatyzowanie powtarzalnych zadań przynosi wiele korzyści:

  • Wydajność: zadania są wykonywane szybciej i bez ręcznej ingerencji.
  • Spójność: zadania są wykonywane za każdym razem w ten sam sposób, co ogranicza liczbę błędów.
  • Niezawodność: skrypty można zaplanować tak, aby działały niezawodnie nawet pod nieobecność użytkownika.
  • Skalowalność: te same operacje można łatwo zastosować w wielu systemach.

Typowe zadania do automatyzacji

Wiele zadań związanych z administracją systemem doskonale nadaje się do automatyzacji:

  • Kopie zapasowe: regularne kopiowanie ważnych danych.
  • Zarządzanie dziennikami: usuwanie starych dzienników lub ich rotacja.
  • Monitorowanie systemu: sprawdzanie miejsca na dysku oraz użycia procesora i pamięci.
  • Zarządzanie użytkownikami: tworzenie lub usuwanie kont użytkowników.
  • Aktualizacje oprogramowania: utrzymywanie pakietów w aktualnym stanie.

Tworzenie prostego skryptu kopii zapasowej

Jednym z najważniejszych zadań jest tworzenie kopii zapasowych danych. Podstawowy skrypt kopii zapasowej może kopiować określone pliki lub katalogi do bezpiecznej lokalizacji, często dodając znacznik czasu.

Możemy użyć polecenia cp razem z poleceniem date, aby tworzyć unikatowe katalogi kopii zapasowych.

Uruchom: codzienna kopia zapasowa danych

Ten skrypt tworzy kopię zapasową katalogu „my_data” ze znacznikiem czasu i zapisuje ją w folderze „backups”. Aby przetestować skrypt, pamiętaj o zastąpieniu /path/to/my_data rzeczywistym katalogiem w swoim systemie.

#!/bin/bash

SOURCE_DIR="/tmp/my_data"
BACKUP_DIR="/tmp/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)

mkdir -p "$SOURCE_DIR"
echo "Hello from CoddyKit!" > "$SOURCE_DIR/file1.txt"
echo "More data." > "$SOURCE_DIR/file2.txt"

mkdir -p "$BACKUP_DIR"

# Perform the backup
cp -r "$SOURCE_DIR" "$BACKUP_DIR/backup_$TIMESTAMP"

echo "Backup created at: $BACKUP_DIR/backup_$TIMESTAMP"

Automatyzowanie czyszczenia dzienników

Pliki dzienników szybko rosną i mogą zajmować znaczną ilość miejsca na dysku. Automatyzowanie ich czyszczenia lub rotacji jest niezbędne dla prawidłowego działania systemu.

Możemy użyć polecenia find, aby znaleźć stare pliki dzienników i je usunąć albo przenieść do archiwum.

Uruchom: usuwanie starych dzienników

Ten skrypt usuwa z określonego katalogu pliki dzienników starsze niż 7 dni. Zachowaj ostrożność podczas używania rm w rzeczywistych skryptach!

#!/bin/bash

LOG_DIR="/tmp/app_logs"

mkdir -p "$LOG_DIR"
touch "$LOG_DIR/today.log"
touch -d "8 days ago" "$LOG_DIR/old_log_1.log"
touch -d "5 days ago" "$LOG_DIR/recent.log"
touch -d "10 days ago" "$LOG_DIR/old_log_2.log"

echo "Logs before cleanup:"
ls -l "$LOG_DIR"

# Find and delete log files older than 7 days
find "$LOG_DIR" -type f -name "*.log" -mtime +7 -delete

echo "\nLogs after cleanup:"
ls -l "$LOG_DIR"

Monitorowanie użycia dysku

Monitorowanie zasobów systemowych, takich jak miejsce na dysku, ma kluczowe znaczenie dla zapobiegania awariom. Skrypt może okresowo sprawdzać użycie zasobów i powiadamiać o przekroczeniu określonego progu.

Polecenie df raportuje użycie miejsca na dysku systemu plików. Możemy przetworzyć jego wynik, aby uzyskać samą wartość procentową.

Uruchom: alert dotyczący miejsca na dysku

Ten skrypt sprawdza użycie systemu plików głównego (/) i wyświetla ostrzeżenie, jeśli przekracza ono 80%. Możesz zmodyfikować wartość THRESHOLD.

#!/bin/bash

THRESHOLD=80

# Get disk usage percentage for root filesystem
USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//')

# Check if usage exceeds threshold
if (( USAGE > THRESHOLD )); then
  echo "WARNING: Disk usage on / is at ${USAGE}%!"
else
  echo "Disk usage on / is ${USAGE}%. All good!"
fi

Dobre praktyki dotyczące skryptów administracyjnych

Podczas pisania skryptów automatyzujących warto stosować następujące dobre praktyki:

  • Obsługa błędów: używaj set -e, aby zakończyć działanie po wystąpieniu błędu, i dodawaj jawne sprawdzanie błędów.
  • Rejestrowanie: przekierowuj dane wyjściowe skryptu do plików dziennika na potrzeby audytu i debugowania.
  • Idempotencja: projektuj skrypty tak, aby wielokrotne uruchomienie dawało taki sam efekt jak uruchomienie jednokrotne.
  • Konfiguracja: używaj zmiennych lub osobnych plików konfiguracyjnych dla wartości, które łatwo zmieniać.
  • Uprawnienia: upewnij się, że skrypty mają prawidłowe uprawnienia do wykonywania (chmod +x).

Sprawdzian: automatyzacja administracji systemem

Które z poniższych zadań dobrze nadają się do automatyzacji za pomocą skryptów Bash w administracji systemem?

Podsumowanie: automatyzacja administracji systemem

Świetna praca! Wiesz już, jak skrypty Bash mogą usprawnić zadania administracyjne.

Omówiliśmy automatyzowanie tworzenia kopii zapasowych, czyszczenia dzienników i monitorowania użycia dysku. Pamiętaj o stosowaniu dobrych praktyk, takich jak obsługa błędów i rejestrowanie, aby tworzyć solidne i niezawodne skrypty automatyzujące.

Te umiejętności są niezwykle cenne w utrzymywaniu sprawnych i wydajnych systemów!

Często zadawane pytania

Czy lekcja „Automatyzacja administracji systemem” jest bezpłatna?

Tak — pełny tekst „Automatyzacja administracji systemem” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu DevOps Bootcamp, przejdź na CoddyKit PRO. Kurs DevOps Bootcamp zawiera 4 lekcji w sumie.

Co nauczysz się w „Automatyzacja administracji systemem”?

Zastosuje Pan/Pani skrypty Bash do automatyzacji typowych zadań administracyjnych, takich jak tworzenie kopii zapasowych, rotacja logów i monitorowanie. Ćwiczysz DevOps Bootcamp z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć DevOps Bootcamp?

Nie wymagamy żadnego doświadczenia. DevOps Bootcamp w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Automatyzacja administracji systemem”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji DevOps Bootcamp?

Tak. Każda lekcja DevOps Bootcamp zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Planowanie zadań za pomocą Cron
  2. Automatyzacja administracji systemem
  3. Projekt z zaawansowanego skryptowania
  4. Automatyczna rotacja logów i czyszczenie
← Powrót do DevOps Bootcamp