home.social

#备份 — Public Fediverse posts

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

  1. mastodon备份sh脚本
    分为备份dev站或者main站,运行良好,但是需要自行修改部分
    mastodon_backup.sh
    gist.github.com/KipJayChou/f33

    文件结构:
    /home/jay/docker/social/mastodon/
    dev
    main
    mastodon_backup.sh

    使用:
    cd ~/docker/social/mastodon
    git clone gist.github.com/f33287fe6c6690
    mv f33287fe6c6690947756b1768b2b5c6b/mastodon_backup.sh ./
    sudo rm -r f33287fe6c6690947756b1768b2b5c6b
    chmod +x ~/docker/social/mastodon/mastodon_backup.sh
    ./mastodon_backup.sh

    mstdn.feddit.social/@admin/115

    #bash #git #gist #备份 #mastodon #sh

  2. 刚刚试着完成了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