使用 minio同步保存远程Bitwarden数据

10 min read

备份托管数据目录

建议您备份并保护整个 ./bwdata 目录。如果发生数据丢失,则需要此目录中包含的全部或部分数据来还原您的实例。

定期备份的 ./bwdata 中特别重要的部分包括:

  • ./bwdata/env - 实例的环境变量,包括数据库和证书密码
  • ./bwdata/core/attachments - 实例的密码库项目的附件
  • ./bwdata/mssql/data - 实例的数据库数据

Bitwarden 将在运行时自动对 mssql 数据库容器进行夜间备份。

安装 MinIO Client

wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/
chmod +x /usr/local/bin/mc

添加云存储

如需添加 MinIO 云存储,则需要在另一台服务器安装 MinIO 服务

#MinIO云存储
mc config host add minio <Endpoint> <AccessKey> <SecretKey> S3v4

#Amazon S3云存储
mc config host add s3 https://s3.amazonaws.com <ALIAS> <Endpoint> <AccessKeyID> <SecretAccessKey> S3v4

#Google云存储
mc config host add gcs  https://storage.googleapis.com <AccessKeyID> <SecretAccessKey> S3v2

这里只说 MinIO 云存储

基本上这里配置好了后,我们可以使用很多命令远程操作云存储上的文件了。

开始同步

先创建一个桶,名称为 moewah,可自行修改,使用命令:

mc mb minio/moewah

接下来开始同步:

#比如我要同步网站根目录/www/test,目录自行修改
mc mirror -w /test minio/moewah

然后你会发现远程 MinIO 云存储里的 MOEWAH 就会出现你网站根目录所有文件了,以后根目录新增文件都会实时同步进去。

当然这里我们也可以同时实时备份多个文件夹到多个存储桶,自行修改名称就行了。

后台运行

详情见 https://bytenote.net/article/122528781633060865

pm2 start mc --name=bitwarden -- mirror -w /root/docker/bitwarden/data minio/bitwarden