přídány skripty pro zálohy pomocí Rsync

This commit is contained in:
archos 2024-06-27 20:23:23 +02:00
parent 749cb275a0
commit 0b03686450
2 changed files with 60 additions and 0 deletions

34
skripty/full_backup.sh Normal file
View File

@ -0,0 +1,34 @@
#!/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"

View File

@ -0,0 +1,26 @@
#!/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"
# Datum a čas
DATUM=$(date +"%Y-%m-%d_%H-%M-%S")
# Vytvoření adresáře pro zálohu s datem a časem
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
# Výpis stavu zálohy
if [ $? -eq 0 ]; then
echo "Zálohování úspěšně dokončeno: $DATUM" >> "$LOG"
else
echo "Zálohování selhalo: $DATUM" >> "$LOG"
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