Bemästra Linux-kommandoraden och Bash-skriptning · Lektion

Automatisera systemadministration

Använd Bash-skriptning för att automatisera vanliga systemadministrativa uppgifter, till exempel säkerhetskopiering, loggrotation och övervakning.

Lektion 2 av 412 steg

Automatisera systemadministration är en gratis lektion i Bemästra Linux-kommandoraden och Bash-skriptning på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden och Bash-skriptning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.

Introduktion till automatisering för systemadministratörer

Välkommen! I den här lektionen går vi igenom hur du automatiserar vanliga systemadministrativa uppgifter med Bash-skript. Det är här dina kunskaper i skriptande verkligen kommer till sin rätt!

Automatisering gör systemhanteringen effektivare och mer konsekvent samt minskar risken för mänskliga fel. Det är en viktig färdighet för alla utvecklare och IT-tekniker.

Varför automatisera systemadministrativa uppgifter?

Att automatisera repetitiva uppgifter ger betydande fördelar:

  • Effektivitet: Uppgifter körs snabbare och utan manuella åtgärder.
  • Konsekvens: Säkerställer att uppgifter utförs på samma sätt varje gång, vilket minskar antalet fel.
  • Tillförlitlighet: Skript kan schemaläggas så att de körs tillförlitligt även när du inte är på plats.
  • Skalbarhet: Samma åtgärder kan enkelt tillämpas på många system.

Vanliga mål för automatisering

Många systemadministrativa uppgifter lämpar sig utmärkt för automatisering:

  • Säkerhetskopiering: Regelbunden kopiering av viktiga data.
  • Logghantering: Rensa gamla loggar eller rotera dem.
  • Systemövervakning: Kontrollera diskutrymme samt CPU- och minnesanvändning.
  • Användarhantering: Skapa eller ta bort användarkonton.
  • Programuppdateringar: Hålla paket uppdaterade.

Skript för enkel säkerhetskopiering

En av de viktigaste uppgifterna är att säkerhetskopiera data. Ett grundläggande säkerhetskopieringsskript kan kopiera specifika filer eller kataloger till en säker plats, ofta med en tidsstämpel.

Vi kan använda kommandot cp tillsammans med kommandot date för att skapa unika säkerhetskopieringskataloger.

Kör: Daglig säkerhetskopiering av data

Det här skriptet skapar en tidsstämplad säkerhetskopia av katalogen 'my_data' i mappen 'backups'. Kom ihåg att ersätta /path/to/my_data med en verklig katalog på ditt system när du testar det.

#!/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"

Automatisera rensning av loggar

Loggfiler växer snabbt och kan förbruka betydande diskutrymme. Att automatisera rensning eller rotation av dem är viktigt för systemets hälsa.

Vi kan använda kommandot find för att hitta gamla loggfiler och ta bort dem eller flytta dem till ett arkiv.

Kör: Ta bort gamla loggar

Det här skriptet tar bort loggfiler som är äldre än 7 dagar från en angiven katalog. Var försiktig när du använder rm i riktiga skript!

#!/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"

Övervaka diskutrymme

Det är viktigt att övervaka systemresurser som diskutrymme för att förhindra driftstopp. Ett skript kan kontrollera användningen regelbundet och varna dig om den överskrider ett tröskelvärde.

Kommandot df rapporterar filsystemets diskanvändning. Vi kan tolka dess utdata för att bara få fram procentandelen.

Kör: Varning för diskutrymme

Det här skriptet kontrollerar diskanvändningen för rotfilsystemet (/) och skriver ut en varning om den överstiger 80 %. Du kan ändra 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

Bästa praxis för systemadministrativa skript

Tänk på följande bästa praxis när du skriver automatiseringsskript:

  • Felhantering: Använd set -e för att avsluta vid fel och lägg till explicita felkontroller.
  • Loggning: Omdirigera skriptets utdata till loggfiler för granskning och felsökning.
  • Idempotens: Utforma skript så att flera körningar får samma effekt som en enda körning.
  • Konfiguration: Använd variabler eller separata konfigurationsfiler för värden som enkelt kan ändras.
  • Behörigheter: Säkerställ att skripten har korrekta körningsbehörigheter (chmod +x).

Kontroll av automatisering för systemadministration

Vilka av följande uppgifter lämpar sig väl för automatisering med Bash-skript inom systemadministration?

Sammanfattning: Automatisera systemadministration

Bra jobbat! Du har lärt dig hur Bash-skript kan förändra systemadministrativa uppgifter.

Vi gick igenom automatisering av säkerhetskopiering, rensning av loggar och övervakning av diskutrymme. Kom ihåg att tillämpa bästa praxis, som felhantering och loggning, för att skapa robusta och tillförlitliga automatiseringsskript.

De här kunskaperna är ovärderliga för att underhålla välfungerande och effektiva system!

Gratis att börja

Lär dig Bash med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
22
Lektioner
88

Vanliga frågor

Är lektionen ”Automatisera systemadministration” gratis?

Ja – hela texten till ”Automatisera systemadministration” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden och Bash-skriptning, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.

Vad lär jag mig i ”Automatisera systemadministration”?

Använd Bash-skriptning för att automatisera vanliga systemadministrativa uppgifter, till exempel säkerhetskopiering, loggrotation och övervakning. Ni övar på Bemästra Linux-kommandoraden och Bash-skriptning med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Bemästra Linux-kommandoraden och Bash-skriptning?

Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden och Bash-skriptning på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Automatisera systemadministration”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Bemästra Linux-kommandoraden och Bash-skriptning-lektionen?

Ja. Varje Bemästra Linux-kommandoraden och Bash-skriptning-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Schemalägg uppgifter med Cron
  2. Automatisera systemadministration
  3. Projekt: avancerad skriptning
  4. Automatisk loggrotering och rensning
← Tillbaka till Bemästra Linux-kommandoraden och Bash-skriptning