打包备份版本12345678910111213141516171819202122232425262728293031323334#!/bin/bash# 设置备份存储目录(请根据需要修改路径)BACKUP_DIR="./rclone_backup"# 当前日期DATE=$(date +%F-%H%M%S)# Vaultwarden 数据目录VW_DATA_DIR="./vw_data"# 备份文件名BACKUP_FILE="$BACKUP_DIR/vw-backup-$DATE.tar.gz"#定义远程数组REMOTE_DIRS=("jianguoyun:/Vaultwarden备份/" "onedrive:/Vaultwarden备份/")# 日志文件LOG_FILE="./rclone-days.log"# 创建备份,并排除 vaultwarden.log 文件和 icon_cache,sends 目录tar --exclude='vaultwarden.log' --exclude='icon_cache' --exclude='sends' -czvf $BACKUP_FILE $VW_DATA_DIR# 保留最近 7 天的备份,删除旧备份find $BACKUP_DIR -type f -name "vw-backup-*.tar.gz" -mtime +7 -exec rm {} \;for remote_dir in "${REMOTE_DIRS[@]}"do # 备份文件 rclone -v copy "$BACKUP_FILE" "$remote_dir" -P --log-file=$LOG_FILEdoneecho "Vaultwarden 数据备份已完成: $BACKUP_FILE" 每日备份(不打包)123456789101112131415161718192021222324252627282930313233343536373839#!/bin/bash#定义数据库匹配SOURCE_P_SQL="db.sqlite3*"#定义rsa_key* 匹配SOURCE_P_KEY="rsa_key*"#定义配置文件名SOURCE_CONFIG="config.json"#定义数据目录SOURCE_DATA_DIR="./vw_data/"#定义日志存放目录LOGS_DIR="./rclone_logs"#定义数据目录内需要备份的子目录数组SOURCE_BACKUP_DIRS=("attachments" "sends")#定义远程数组REMOTE_DIRS=("jianguoyun:/Vaultwarden备份t/" "onedrive:/Vaultwarden备份t/")for remote_dir in "${REMOTE_DIRS[@]}"do # 日志文件 LOG_FILE="./rclone-days.log" # 使用 --include 备份 db.sqlite3* 文件 rclone -v copy "$SOURCE_DATA_DIR" "$remote_dir" --include "$SOURCE_P_SQL" -P --log-file=$LOG_FILE # 使用 --include 备份 rsa_key* 文件 rclone -v copy "$SOURCE_DATA_DIR" "$remote_dir" --include "$SOURCE_P_KEY" -P --log-file=$LOG_FILE # 备份 config.json 文件 rclone -v copy "$SOURCE_DATA_DIR$SOURCE_CONFIG" "$remote_dir" -P --log-file=$LOG_FILE # 备份目录文件 for dir in "${SOURCE_BACKUP_DIRS[@]}" do rclone -v sync "$SOURCE_DATA_DIR$dir" "$remote_dir$dir" -P --log-file=$LOG_FILE donedone