Mastodon是一个开源的社交网络平台,它允许用户跨服务器进行交流。为了确保数据的安全,备份Mastodon到云存储服务如Backblaze R2是一个很好的选择。以下是一个详细的步骤指南,帮助您完成这一过程。

配置rclone链接到Backblaze b2

首先,您需要配置rclone以连接到Backblaze的B2存储服务。打开终端并输入以下命令:

rclone config

在配置过程中,您需要设置账户类型为b2,并输入您的账户ID和应用密钥。您可以选择删除旧的Application Keys并生成新的,以确保安全性。完成配置后,保存并退出。

备份基本流程

备份的基本流程包括选择要备份的文件和目录,将它们打包成一个压缩文件,然后使用rclone上传到Backblaze R2。以下是具体的步骤:

选择备份文件和目录

您需要备份的文件包括:

  • compose.yaml
  • Dockerfile
  • .env.production
  • docker-compose.override.yml
  • mastodon.dump(数据库文件)

您需要备份的目录是:

  • /home/jay/docker/social/mastodon/dev/overrides

不需要备份的目录包括:

  • /home/jay/docker/social/mastodon/dev/public(因为文件已存储在R2中)
  • /home/jay/docker/social/mastodon/dev/elasticsearch(索引可以重建)
  • /home/jay/docker/social/mastodon/dev/redis(不是权威数据源)

导出数据库文件

使用以下命令导出数据库文件:

docker exec mastodon_dev_db pg_dump -Fc -U postgres postgres > mastodon.dump

打包并上传

首先,使用以下命令创建一个带时间戳的压缩文件:

ts=$(date +"%Y%m%d-%H%M%S")
tar -czf mastodon-dev-backup-${ts}.tar.gz \
  compose.yaml \
  Dockerfile \
  .env.production \
  docker-compose.override.yml \
  mastodon.dump \
  overrides

然后,使用rclone上传到Backblaze R2:

rclone copy mastodon-dev-backup-${ts}.tar.gz b2:Hostdzire-SFO-Backup/

验证上传

使用以下命令验证文件是否已成功上传:

rclone ls b2:Hostdzire-SFO-Backup | tail

最后,清理本地生成的临时文件和备份文件:

rm -f mastodon.dump
rm -f mastodon-dev-backup-${ts}.tar.gz

通过以上步骤,您就可以成功地将Mastodon的数据备份到Backblaze R2了。定期执行这些步骤可以帮助您确保数据的安全性和完整性。

标签: none

评论已关闭