v2.5.0: make backup names collision safe

This commit is contained in:
Виталий Литвинов
2026-04-25 14:47:34 +03:00
parent b2ab0dca57
commit d492e5eb69

View File

@@ -7,10 +7,24 @@ create_backup() {
local output_dir="${2:-$BACKUP_DIR}" local output_dir="${2:-$BACKUP_DIR}"
local timestamp local timestamp
timestamp=$(date +%Y%m%d_%H%M%S) timestamp=$(date +%Y%m%d_%H%M%S)
local backup_name="gotelegram_backup_${timestamp}" local backup_name tmp_dir suffix=0
local tmp_dir="/tmp/${backup_name}"
mkdir -p "$tmp_dir" "$output_dir" mkdir -p "$output_dir"
while true; do
if [ "$suffix" -eq 0 ]; then
backup_name="gotelegram_backup_${timestamp}"
else
backup_name="gotelegram_backup_${timestamp}_${suffix}"
fi
tmp_dir="/tmp/${backup_name}"
if [ ! -e "$tmp_dir" ] && \
[ ! -e "${output_dir}/${backup_name}.tar.gz" ] && \
[ ! -e "${output_dir}/${backup_name}.tar.gz.enc" ]; then
break
fi
suffix=$((suffix + 1))
done
mkdir -p "$tmp_dir"
# Собираем файлы # Собираем файлы
log_info "$(_t_or backup_collecting 'Собираю конфигурацию...')" log_info "$(_t_or backup_collecting 'Собираю конфигурацию...')"