aktualizace skriptů a odstranění zápisu do logu

This commit is contained in:
archos 2024-06-27 21:28:31 +02:00
parent 0b03686450
commit d54c6ea13e
2 changed files with 11 additions and 17 deletions

View File

@ -3,7 +3,6 @@
# Nastavení proměnných # Nastavení proměnných
ZDROJ="/cesta/k/zdrojovému/adresáři" ZDROJ="/cesta/k/zdrojovému/adresáři"
CIL="/cesta/k/záložní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í # Seznam souborů a adresářů k vyloučení ze zálohování
EXCLUDE_LIST=( EXCLUDE_LIST=(
@ -13,22 +12,18 @@ EXCLUDE_LIST=(
"*.log" "*.log"
) )
# Vytvoření dočasného souboru s vyloučenými položkami # Sestavení příkazů --exclude pro rsync
EXCLUDE_FILE="/tmp/exclude.txt" EXCLUDES=()
rm -f "$EXCLUDE_FILE"
for item in "${EXCLUDE_LIST[@]}"; do for item in "${EXCLUDE_LIST[@]}"; do
echo "$item" >> "$EXCLUDE_FILE" EXCLUDES+=("--exclude=$item")
done done
# Zálohování pomocí rsync s vyloučením nepotřebných souborů a adresářů # 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 # Výpis stavu zálohy
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Zálohování úspěšně dokončeno: $(date)" >> "$LOG" echo "Zálohování úspěšně dokončeno: $(date)"
else else
echo "Zálohování selhalo: $(date)" >> "$LOG" echo "Zálohování selhalo: $(date)"
fi fi
# Odstranění dočasného souboru s vyloučenými položkami
rm -f "$EXCLUDE_FILE"

View File

@ -3,7 +3,6 @@
# Nastavení proměnných # Nastavení proměnných
ZDROJ="/cesta/k/zdrojovému/adresáři" ZDROJ="/cesta/k/zdrojovému/adresáři"
CIL="/cesta/k/záložnímu/adresáři" CIL="/cesta/k/záložnímu/adresáři"
LOG="/cesta/k/logu/zálohování.log"
# Datum a čas # Datum a čas
DATUM=$(date +"%Y-%m-%d_%H-%M-%S") DATUM=$(date +"%Y-%m-%d_%H-%M-%S")
@ -13,14 +12,14 @@ NOVY_CIL="$CIL/backup_$DATUM"
mkdir -p "$NOVY_CIL" mkdir -p "$NOVY_CIL"
# Zálohování pomocí rsync s možností mazání smazaných souborů ve zdrojovém adresáři # 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 # Výpis stavu zálohy
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo "Zálohování úspěšně dokončeno: $DATUM" >> "$LOG" echo "Zálohování úspěšně dokončeno: $DATUM"
else else
echo "Zálohování selhalo: $DATUM" >> "$LOG" echo "Zálohování selhalo: $DATUM"
fi fi
# Volitelně: Odstranění starých záloh (např. starších než 7 dní) # 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 {} \;