home.social

#打包 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #打包, aggregated by home.social.

fetched live
  1. 刚刚试着完成了Mastodon的备份 :neofinder:
    参考了蜗牛哥的 eallion.com/mastodon-backup ,以及GPT的指示
    了解了备份的基本流程,接下来就是变成脚本然后设置为定时任务

    先配置rclone链接到Backblaze b2
    rclone config
    图方便就把Application Keys删了,重新生成了Master Application Key

    Rclone除了协议、account、key意外都不需要什么额外的配置
    ~/.config/rclone/rclone.conf
    [b2]
    type = b2
    account = $keyID$
    key = $applicationKey$

    rclone lsd b2:
    查看buckt确认无误

    基本备份流程:
    备份 一些目录/文件 + 一个数据库 → 打包成带时间戳的 tar.gz → 用 rclone 传到多个云 → 清理本地

    我需要备份的文件有:
    compose.yaml
    Dockerfile
    .env.production
    docker-compose.override.yml
    mastodon.dump(数据库)

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

    我需要备份的目录有:
    /home/jay/docker/social/mastodon/main/overrides

    不需要备份的目录:
    /home/jay/docker/social/mastodon/main/public(我的文件都在R2,本地无文件)
    /home/jay/docker/social/mastodon/main/elasticsearch(索引可以重建)
    /home/jay/docker/social/mastodon/main/redis (不是权威数据源)

    接下来上传到backblaze
    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
    (打包为tar.gz)

    rclone copy mastodon-dev-backup-${ts}.tar.gz b2:Hostdzire-SFO-Backup/ (上传到Backblaz的Hostdzire-SFO-Backup桶下)

    验证上传:
    rclone ls b2:Hostdzire-SFO-Backup | tail(输出文件)

    删掉临时文件和本地备份:
    rm -f mastodon.dump
    rm -f mastodon-dev-backup-${ts}.tar.gz

    #b2 #backblaze #rclone #backup #备份 #docker #tar #打包 #mastodon