35 lines
904 B
Bash
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"
|