Vaultwarden 的 Restic 备份脚本
注意:相关文章:
- 如何在 Synology NAS 上安装 Restic REST 服务器用于服务器设置(你也可以使用其他后端)
- 我们基于
docker-compose的 Vaultwarden 设置:使用 docker-compose 的简单 5 分钟 MySQL Vaultwarden 设置
配置备份脚本
首先,使用以下命令生成加密密码
generate_restic_password.sh
pwgen 30 > .restic_password确保单独备份此密码,否则所有数据都将丢失!
现在在 docker-compose.yml 所在的同一目录中创建 backup.sh:
vaultwarden_backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export RESTIC_REPOSITORY=rest:http://restic:abc123@10.1.2.3:16383/$NAME
export RESTIC_PASSWORD_FILE=.restic_password
if [ ! -f "${RESTIC_PASSWORD_FILE}" ]; then
echo "Please create .restic_password with the backup encryption password AND BACKUP THAT PASSWORD SEPARATELY!!!"
exit 1
fi
echo "Initing repo, please ignore any 'already exists' errors"
if [ ! -f ".restic_inited" ]; then
# Run the restic init command
restic init
if [ $? -eq 0 ]; then # if init successful
# Create the initialization file
touch ".restic_inited"
echo "Restic initialized"
fi
fi
# Backup
source .env
docker-compose exec -T mariadb mysqldump -uroot -p${MARIADB_ROOT_PASSWORD} --all-databases | restic --verbose backup --stdin --stdin-filename="mariadb.sql"
# Backup files
restic --verbose backup vw_data backup.sh --exclude vw_data/icon_cache自动启动备份脚本
查看如何在 10 秒内创建 Systemd 备份定时器和服务
TL;DR: 在 backup.sh 所在的目录中,运行
create_backup_service.sh
wget -qO- https://techoverflow.net/scripts/create-backup-service.sh | sudo bash /dev/stdinIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow