linux_helper/skripty/full_backup.sh

35 lines
904 B
Bash

#!/bin/bash
# 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=(
"cache"
"*.tmp"
"node_modules"
"*.log"
)
# Vytvoření dočasného souboru s vyloučenými položkami
EXCLUDE_FILE="/tmp/exclude.txt"
rm -f "$EXCLUDE_FILE"
for item in "${EXCLUDE_LIST[@]}"; do
echo "$item" >> "$EXCLUDE_FILE"
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
# Výpis stavu zálohy
if [ $? -eq 0 ]; then
echo "Zálohování úspěšně dokončeno: $(date)" >> "$LOG"
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"