aktualizace incremental_backup.sh

This commit is contained in:
archos 2024-06-27 22:11:31 +02:00
parent d54c6ea13e
commit a0c025f1c6

View File

@ -3,6 +3,21 @@
# 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"
POSLEDNI_ZALOHA=$(ls -td $CIL/backup_* | head -1)
# Seznam souborů a adresářů k vyloučení ze zálohování
EXCLUDE_LIST=(
"cache"
"*.tmp"
"node_modules"
"*.log"
)
# Sestavení příkazů --exclude pro rsync
EXCLUDES=()
for item in "${EXCLUDE_LIST[@]}"; do
EXCLUDES+=("--exclude=$item")
done
# Datum a čas # Datum a čas
DATUM=$(date +"%Y-%m-%d_%H-%M-%S") DATUM=$(date +"%Y-%m-%d_%H-%M-%S")
@ -11,8 +26,12 @@ DATUM=$(date +"%Y-%m-%d_%H-%M-%S")
NOVY_CIL="$CIL/backup_$DATUM" 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 # Kontrola poslední zálohy a použití --link-dest pro inkrementální zálohy
rsync -av --delete "$ZDROJ" "$NOVY_CIL" if [ -n "$POSLEDNI_ZALOHA" ]; then
rsync -av --delete --link-dest="$POSLEDNI_ZALOHA" "${EXCLUDES[@]}" "$ZDROJ/" "$NOVY_CIL/"
else
rsync -av --delete "${EXCLUDES[@]}" "$ZDROJ/" "$NOVY_CIL/"
fi
# Výpis stavu zálohy # Výpis stavu zálohy
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then