跳到文章

Mastodon 的脚本

我常用的脚本主要有两个功能, 第一个是用来定时备份数据库, 再就是清理我那不多的存储空间

备份

我使用的是 Mega 网盘存储数据库, 因为如果都放在 Scaleway 会在清理清理存储空间时报错, 建议把备份文件分开存储, 不论是通过服务还是存储桶分隔

#!/bin/bash
source /etc/profile
now=$(date "+%Y%m%d")
origin="/home/mastodon/mastodon"
target="mega:xxx.im"
echo "Export"
/usr/bin/docker exec mastodon-db-1 pg_dump -U postgres -Fc mastodon > ${origin}/backup.dump &&
echo "Upload"
mv ${origin}/backup.dump ${origin}/${now}.dump
/usr/bin/rclone copy ${origin}/${now}.dump ${target} &&
echo "Done"
rm -f ${origin}/${now}.dump
/usr/bin/rclone --min-age 7d  delete ${target}
清理

我会在进行文件清理完成后对 Mastodon 的服务进行一次重启, 所以把命令都放在了一个脚本中, 定时执行

cd /home/mastodon/mastodon
docker-compose run --rm web bin/tootctl media remove --days=3
docker-compose run --rm web bin/tootctl media remove-orphans
docker-compose run --rm web bin/tootctl statuses remove
docker-compose down
docker-compose up -d

你需要将上述文件修改后保存为 xxx.sh 文件, 用定时服务 crontab 或手动执行即可 bash xxx.sh