备份 umami 数据库,并使用 TG Bot 保存 dump 文件
本文最后更新于:2024年8月12日 下午
前一阵子看到点墨的博客「定时备份mysql/mariadb数据库并上传至tgbot」,我意识到个人站点的数据库 dump 使用 TG Bot 存放是一个非常合适的做法。个人站点的数据库体积本身就不大,TG Bot 又有官方提供的 api,非常适合自动化任务。我就寻思着给我的 umami 数据库也写个定时任务备份一下,也不至于之前做一次迁移数据全部爆炸的悲剧重演。
我的 umami 是「使用 vercel+supabase 免费部署 umami」部署出来的,数据库在 supabase 上,因此我们先打开 supabase 的 dashboard,获取到数据库的 url。
密码我自然是不记得了,不过好在 Firefox 的密码管理器帮我记住了,直接去设置里就能找到。即使密码忘了也不要紧,往下翻有重置密码的按钮。
随后就要开始编写我们的教本了,这是我的
1 |
|
将这段代码保存为 umami_db_dumper.sh
,随后 chmod +x ./umami_db_dumper.sh
授予可执行权限。
可以先在命令行中执行命令试一下这段脚本是否正常工作
1 |
|
这段代码在我本机正常工作,可惜在我的 Ubuntu VPS 上报错
1 |
|
看上去是 VPS 上的 PostgreSQL 版本过低,Google 搜索一顿后,我在一篇「Upgrade pg_dump version in ubuntu | by Anushareddy」 文章中找到了方案,添加 PostgreSQL 官方提供的 apt 源将 VPS 上的 PostgreSQL 更新到新版即可解决。
1 |
|
确保脚本正常工作后,使用 crontab -e
设置自动任务
1 |
|