如何用borg備份我的博客

Borg

borg是一个高效的备份软件,可以创建并把数据备份到borg仓库中(一个特殊文件夹),并且默认启用压缩、文件去重、加密等功能,这篇文章介绍我是怎么备份我的博客数据的。

borg可以远程备份或本地备份,远程备份即使用ssh连接到远程服务器来备份,本文主要介绍远程备份,假设我用于储存备份的服务器是backup.dion.cool

安装Borg

在debian或ubuntu上运行如下命令来安装Borg

sudo apt-get install borgbackup

如果使用远程备份的话,需要在存储备份的服务器上也安装borg,如果两端的borg版本不同的话基本上也是可以用的。

创建仓库

在储存备份的服务器上运行如下命令来创建一个空仓库

borg init -e repokey ~/blog-backup

这个命令会首先让你设置一下仓库密码,然后在~/blog-backup位置创建一个空borg仓库。

进行备份

在我的博客服务器上有个脚本叫borg_backup.sh,运行它就可以在borg仓库中创建一份备份。其内容如下:

#! /bin/bash
export BORG_PASSPHRASE='改成你的密码'
borg create --progress --stats root@backup.dion.cool:/root/blog-backup::$(date +%Y-%m-%dT%H.%M) /var/www/typecho /etc/caddy

注意将其中的密码、备份位置改成你自己的。这个命令会备份/var/www/typecho/etc/caddy这两个文件夹,到backup.dion.cool主机上的/root/blog-backup仓库中。我用的嵌入式数据库就在/var/www/typecho文件夹中,如果你使用mysql或postgresql的话需要把数据库dump以后把数据库的数据也备份一下。

恢复备份

使用如下命令将最近的一次备份挂载到/mnt文件夹中

borg mount --last 1 root@backup.dion.cool:/root/blog-backup /mnt/

然后使用如下命令来恢复备份(需要安装rsyncsudo apt-get install rsync -y)

rsync -ravX /mnt/*/ /

之后用umount命令取消挂载。

umount /mnt

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *