静看光阴荏苒
不管不顾不问不说也不念

borgbackup:开源的数据备份工具

前两天自建了一个bitwarden_rs,还差个备份的方案,我考虑了一下最后选择用borgbackup。

borgbackup可以删除重复数据,还支持zstd压缩,可以节省很多存储空间,所以就用它了。。

需要备份数据的机器(以下简称A)和用来存储备份数据的机器(以下简称B)都需要安装borgbackup:

apt -y update
apt -y install wget
wget https://github.com/borgbackup/borg/releases/download/1.1.15/borg-linux64
mv borg-linux64 /usr/local/bin/borg
chmod +x /usr/local/bin/borg

在B机器上创建一个用户并修改密码:

useradd -m -s /bin/bash borgbackup
passwd borgbackup

默认情况下用户的主目录创建在/home下,这个目录也是后续我们存储备份数据的目录。

如果你需要更改这个用户的主目录,在创建用户的时候使用下面的命令:

useradd -m -d /var/borgbackup -s /bin/bash borgbackup

在A机器上生成SSH密匙对:

ssh-keygen -t ed25519

把A机器的公钥拷贝到B机器:

ssh-copy-id borgbackup@1.2.3.4

borg支持加密,所以在创建存储库的时候可以选择加密还是不加密。

我是用来备份bitwarden_rs的数据,原始数据已经是加密过的了,所以没有必要再进行加密。

使用下面的命令在机器A上创建一个没有加密的初始存储库:

borg init -e none borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs

如果你要加密的话也可以,就是恢复数据的时候比较麻烦,因为它需要你同时拥有密钥和密码才能恢复,这里我也记录一下。

使用下面的命令创建加密存储库:

borg init -e keyfile borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs

此时会让你配置一个密码:

Enter new passphrase: 
Enter same passphrase again: 
Do you want your passphrase to be displayed for verification? [yN]:

这个密码如果你忘记了,你的数据也就GG了,所以密码要妥善保管。

除此之外,你还需要把密钥备份出来,因为之前说过恢复数据的时候光有密码是不够的还需要密钥:

borg key export borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs ~/key

上面这条命令会将你的密钥备份到当前用户的主目录下,命名为key。这个文件你也需要妥善保管,建议备份到多个位置,例如手机、电脑、网盘、U盘。

假设某一天你的密钥丢了,将你备份的密钥传到机器A上面,使用下面的命令重新导入:

borg key import borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs ~/key

做完上面这些之后,现在我们可以尝试进行第一次备份了:

borg create --compression zlib,9 borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs::20210305 /opt/bitwarden_rs

上面这条命令备份了机器A的/opt/bitwarden_rs目录,备份名称20210305,使用了zlib压缩方法,压缩等级9(最高压缩率)

查看全部备份:

borg list borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs

查看某一个备份,例如刚才备份的20210305:

borg list borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs::20210305

恢复备份:

borg extract borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs::20210305

删除备份:

borg delete borgbackup@1.2.3.4:/home/borgbackup/bitwarden_rs::20210305

关于恢复备份官方还有一个mount的命令,大概意思就是把远程存储库直接挂载到本地上,我没有试过这种方法,看官方的介绍,这个方法似乎没有extract好用:

https://borgbackup.readthedocs.io/en/stable/quickstart.html#restoring-a-backup

另外还有一个prune的命令,这个是修剪备份的数据,如果备份的数据很多,用delete命令的话就不太方便了,此时可以用prune:

https://borgbackup.readthedocs.io/en/stable/usage/prune.html

赞(5)
未经允许不得转载:荒岛 » borgbackup:开源的数据备份工具
分享到: 更多 (0)

评论 7

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    lala你的聊天室又没了。。。 :sad:

    BobMaster3年前 (2021-03-09) Google Chrome 89.0.4389.82 Google Chrome 89.0.4389.82 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    大佬,可以备份WordPress 吗? :oops:

    Foliage3年前 (2021-03-30) Mozilla Compatible Mozilla Compatible iPhone iOS 14.4.2 iPhone iOS 14.4.2回复
    • 当然可以。。。

      LALA3年前 (2021-04-01) Google Chrome 89.0.4389.114 Google Chrome 89.0.4389.114 Windows 10 x64 Edition Windows 10 x64 Edition回复
  3. #3

    怎么实现脚本自动部署?每次手动备份未免有点繁琐https://lala.im/wp-content/plugins/wp-alu-master/static/img/icon_mad.gif

    Clarice3年前 (2021-07-28) Google Chrome 92.0.4515.107 Google Chrome 92.0.4515.107 Windows 10 x64 Edition Windows 10 x64 Edition回复
  4. #4

    lala,看得一头雾水啊,1.2.3.4是A机的IP还是B机的IP啊?

    weeper3年前 (2021-08-01) Google Chrome 92.0.4515.107 Google Chrome 92.0.4515.107 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 是B机的IP哦。

      LALA3年前 (2021-08-05) Google Chrome 86.0.4240.198 Google Chrome 86.0.4240.198 Windows 10 x64 Edition Windows 10 x64 Edition回复

分享创造快乐

广告合作资源投稿