diff --git a/skripty/full_backup.sh b/skripty/full_backup.sh new file mode 100644 index 0000000..b01e2ec --- /dev/null +++ b/skripty/full_backup.sh @@ -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" diff --git a/skripty/incremental_backup.sh b/skripty/incremental_backup.sh new file mode 100644 index 0000000..c6fb1f9 --- /dev/null +++ b/skripty/incremental_backup.sh @@ -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