aktualizace incremental_backup.sh
This commit is contained in:
parent
d54c6ea13e
commit
a0c025f1c6
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user