Xintao
Xintao
发布于 2024-08-21 / 32 阅读
0

更新日记

事情经过

最近想要把博客的版本升级一下,因为感觉好久没有维护了,就想着维护一下。结果发现从2.15升级到2.18总会报错,我就尝试升级到低一点的版本2.17试试,也还是不行,试了各种办法也行不行。再加上前一段时间折腾着更换主题,猜测和主题的设置可能也有关系,就试着更换主题,结果也还是报错。
报错的内容也很奇怪,后台可以正常进入,但是主页死活进不去,进去就报服务器500的错误。然后就索性退回到2.15版本,先运行着。
后来看到官方说明中可以备份,并且备份在恢复的时候不限制版本,就试着在新的服务器上面重新拉去一个最新的2.18的镜像,然后使用备份文件进行恢复,一样还是报错。最后都没有找到解决办法,所以就直接新建一个新的Halo,然后一篇一篇的文章复制粘贴重新发布。这样就会导致我的浏览量和评论数据的丢失。并且我现在的文章量不是很大,如果是几百篇文章,那这样一篇一篇的复制粘贴体量太大。所以接着这个机会,思考和记录如何备份网站的数据。

备份方案

  1. 本地备份
    最简单也是最实用的备份方式,也就是每一篇文章都做本地备份,写完然后就复制粘贴到本地。以后打算所有的文章都采用Markdown的格式,这种格式可以让我更加专注于如何创作或写作,不用特别将注意力特别放在格式上。话说回来,本地一个很好用的Obsidian管理软件也不错,后面学习后可以专门出一期好用的软件分享。目前我的主力软件是语雀,起码毕业之前都会使用(因为有会员)。这些笔记软件使用下来都不错,到时候整理在一起。
  2. 网站自带备份
    官方有自带的备份与恢复,可以直接参考官方的备份与恢复方式。
    但是需要注意下面几点。
  • 恢复不限制部署方式,也不限制数据库,也就是说新站点的部署方式和数据库类型可以和备份的站点不同。
  • 恢复过程可能会持续较长时间,期间请勿刷新页面。
  • 在恢复的过程中,虽然已有的数据不会被清理掉,但如果有冲突的数据将被覆盖。
  • 恢复完成之后会提示停止运行 Halo,停止之后可能需要手动运行。
  1. 服务器备份
    这种方式需要用到以下的几行命令,当然这些命令在以前的一篇博客中也有提到。
    cd data/docker_data/halo/
    cp -r /data/docker_data/halo /data/docker_data/halo.archive
    
    这样就可以把这个项目整体的数据进行打包备份,还可以使用下面的命令打包成压缩包
    cd /data/docker_data/halo.archive
    tar -zcvf halaarchive.tar.gz halo.archive
    
    这样就会在当前目录下生成一个tar.gz的压缩包。

其他

总之吃一堑长一智,就简单记录以下这次经历。前两天刚出了网易云的问题,说明一个服务的维护成本要比搭建成本高得多。依旧需要多学习,最后祝各位开心每一天!