From d54c6ea13e15e2e8c83367c144fb5fc55a1c4e71 Mon Sep 17 00:00:00 2001 From: archos Date: Thu, 27 Jun 2024 21:28:31 +0200 Subject: [PATCH] =?UTF-8?q?aktualizace=20skript=C5=AF=20a=20odstran=C4=9Bn?= =?UTF-8?q?=C3=AD=20z=C3=A1pisu=20do=20logu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skripty/full_backup.sh | 19 +++++++------------ skripty/incremental_backup.sh | 9 ++++----- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/skripty/full_backup.sh b/skripty/full_backup.sh index b01e2ec..05ec885 100644 --- a/skripty/full_backup.sh +++ b/skripty/full_backup.sh @@ -3,7 +3,6 @@ # Nastavení proměnných ZDROJ="/cesta/k/zdrojovému/adresáři" CIL="/cesta/k/záložnímu/adresáři" -LOG="/cesta/k/logu/zálohování.log" # Seznam souborů a adresářů k vyloučení ze zálohování EXCLUDE_LIST=( @@ -13,22 +12,18 @@ EXCLUDE_LIST=( "*.log" ) -# Vytvoření dočasného souboru s vyloučenými položkami -EXCLUDE_FILE="/tmp/exclude.txt" -rm -f "$EXCLUDE_FILE" +# Sestavení příkazů --exclude pro rsync +EXCLUDES=() for item in "${EXCLUDE_LIST[@]}"; do - echo "$item" >> "$EXCLUDE_FILE" + EXCLUDES+=("--exclude=$item") done # Zálohování pomocí rsync s vyloučením nepotřebných souborů a adresářů -rsync -av --delete --exclude-from="$EXCLUDE_FILE" "$ZDROJ" "$CIL" > "$LOG" 2>&1 +rsync -av --delete "${EXCLUDES[@]}" "$ZDROJ/" "$CIL/" # Výpis stavu zálohy if [ $? -eq 0 ]; then - echo "Zálohování úspěšně dokončeno: $(date)" >> "$LOG" + echo "Zálohování úspěšně dokončeno: $(date)" else - echo "Zálohování selhalo: $(date)" >> "$LOG" -fi - -# Odstranění dočasného souboru s vyloučenými položkami -rm -f "$EXCLUDE_FILE" + echo "Zálohování selhalo: $(date)" +fi \ No newline at end of file diff --git a/skripty/incremental_backup.sh b/skripty/incremental_backup.sh index c6fb1f9..6ceb2d3 100644 --- a/skripty/incremental_backup.sh +++ b/skripty/incremental_backup.sh @@ -3,7 +3,6 @@ # Nastavení proměnných ZDROJ="/cesta/k/zdrojovému/adresáři" CIL="/cesta/k/záložnímu/adresáři" -LOG="/cesta/k/logu/zálohování.log" # Datum a čas DATUM=$(date +"%Y-%m-%d_%H-%M-%S") @@ -13,14 +12,14 @@ NOVY_CIL="$CIL/backup_$DATUM" mkdir -p "$NOVY_CIL" # Zálohování pomocí rsync s možností mazání smazaných souborů ve zdrojovém adresáři -rsync -av --delete "$ZDROJ" "$NOVY_CIL" > "$LOG" 2>&1 +rsync -av --delete "$ZDROJ" "$NOVY_CIL" # Výpis stavu zálohy if [ $? -eq 0 ]; then - echo "Zálohování úspěšně dokončeno: $DATUM" >> "$LOG" + echo "Zálohování úspěšně dokončeno: $DATUM" else - echo "Zálohování selhalo: $DATUM" >> "$LOG" + echo "Zálohování selhalo: $DATUM" fi # Volitelně: Odstranění starých záloh (např. starších než 7 dní) -find "$CIL" -type d -name "backup_*" -mtime +7 -exec rm -rf {} \; >> "$LOG" 2>&1 +find "$CIL" -type d -name "backup_*" -mtime +7 -exec rm -rf {} \;