34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# Копирование данных Vaultwarden (пароли) из контейнера 103 на диск бэкапов.
|
|
# Для выгрузки в Yandex — включить каталог в источники restic.
|
|
# Запускать на хосте Proxmox под root. Использует pct exec.
|
|
# Результат: /mnt/backup/other/vaultwarden/vaultwarden-data-YYYYMMDD-HHMM.tar.gz
|
|
set -e
|
|
|
|
CT_ID=103
|
|
REMOTE_PATH="/opt/docker/vaultwarden/data"
|
|
BACKUP_DIR="/mnt/backup/other/vaultwarden"
|
|
RETENTION_DAYS=14
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Запускайте под root."
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
DATE=$(date +%Y%m%d-%H%M)
|
|
OUTPUT="$BACKUP_DIR/vaultwarden-data-$DATE.tar.gz"
|
|
|
|
pct exec $CT_ID -- tar cf - -C /opt/docker/vaultwarden data 2>/dev/null | gzip > "$OUTPUT"
|
|
|
|
if [ -s "$OUTPUT" ]; then
|
|
chmod 600 "$OUTPUT"
|
|
echo "Создан: $OUTPUT ($(du -h "$OUTPUT" | cut -f1))"
|
|
else
|
|
echo "Ошибка: архив пустой или каталог недоступен."
|
|
rm -f "$OUTPUT"
|
|
exit 1
|
|
fi
|
|
|
|
find "$BACKUP_DIR" -name 'vaultwarden-data-*.tar.gz' -mtime +$RETENTION_DAYS -delete
|