在一番折腾下,我的halo 博客最终部署在了本地的服务器,通过frp来传输到外网,所以现在可以通过群晖的bba套件来对我的个人博客进行备份。

首先,运行halo的服务器是在群晖上跑的一台虚拟机,在之前的文章里我也介绍过了安装docker以及一些基础的配置。

Halo博客有一个特点,在部署的时候选择docker-compose+sql 方式部署后,sql的路径默认也在主目录的halo文件夹下,也就是说,需要备份的时候只需要打包主目录下halo文件夹,就能完成操作,需要还原或者移到其他机器,只用配好docker,复制文件,执行docker-compose命令就能完美恢复整个博客。

而群晖的BBA套件提供了以rsync的方式进行备份,现在我打算尝试的就是这种方式。Snipaste_2023-03-05_17-20-17.png

配置centos

  1. 新建一个专用备份用户,防止出现安全问题。(实际上该出问题还是会出的,毕竟都是root组)

    adduser syncuser #添加用户:syncuser
    passwd syncuser #配置密码
    usermod -a -G root syncuser #添加到root用户组
    usermod -a -G input syncuser #添加到input用户组 ,mysql 的一些文件会用到

    Snipaste_2023-03-05_17-26-23.png

  2. 查看系统有没有rsync,发现没有,那么就需要安装一个了,因为群晖说明需要rsync3.0以上版本,所以安装前先看一下仓库里的版本

    which rsync #查看有没有rsync
    yum list rsync #查看仓库里的rsync版本
    yum install rsync #安装rsync

    Snipaste_2023-03-05_17-29-18.png

  3. 更改部分文件的权限为group可读,这个需要根据备份的结果去进行更改。

    chmod 640 xxx.file

设置bba备份

  1. 打开群晖的bba

    Snipaste_2023-03-05_18-18-47.png

  2. 配置服务器的地址,用户和密码

    Snipaste_2023-03-05_17-36-48.png

  3. 创建备份计划,我这里选择多版本,方便回溯不同版本文件

    Snipaste_2023-03-05_17-37-36.png

  4. 勾选halo文件夹

    Snipaste_2023-03-05_17-49-59.png

  5. 设置备份的名称,路径,和每天开启备份的时间。进入高级设置,根据自己的需求勾选。我这里保留20个版本。

    Snipaste_2023-03-05_17-51-19.png

    Snipaste_2023-03-05_17-52-39.png

  6. 备份成功

    Snipaste_2023-03-05_18-15-52.png