#神器# 开源VPS备份软件Restic简单教程

by 微魔

微魔部落 / 2019-02-26 17:25

微魔在之前的文章里介绍过不少给VPS进行数据备份的方法,包括使用脚本Rsync等。今天介绍的软件Restic算是一个非常综合的备份神器,支持最常规的Sftp和Rsync等备份方式,同时,不仅支持本地备份,也支持备份到rclone挂载,AWS和Google CLoud Storage等,算是非常的全面。本文简单以Restic的Sftp方式备份实现远程备份为例,简单介绍一下Restic的使用方法

开源VPS备份软件Restic简单教程

为下文讨论方便,本文假设,我们现在要将A服务器的数据备份到B服务器

服务器A上的操作:

下载软件

下载最新版Restic的二进制文件(免编译,直接使用):最新地址可以到https://github.com/restic/restic/releases/latest查看,本文以64位软件为例

wget https://github.com/restic/restic/releases/download/v0.9.4/restic_0.9.4_linux_amd64.bz2  #可能需要使用apt-get或yum安装bzip2进行下一步解压  bzip2 -d restic_0.9.4_linux_amd64.bz2  chmod +x restic_0.9.4_linux_amd64  #移动到系统程序目录  mv restic_0.9.4_linux_amd64 /usr/local/bin/restic  #查看版本  restic version  #自升级(可选运行)  restic self-update

创建SSH登录密钥

cd ~  ssh-keygen -t rsa  #需要若干次回车或y的选择,根据实际情况选择  cat ~/.ssh/id_rsa.pub  #复制上面显示的信息备用  

服务器B上的操作:

#不要去掉下面的英文单引号  echo '刚才id_rsa.pub的内容' >> ~/.ssh/authorized_keys

服务器A上的操作:

创建备份仓(本文仓储目录设定为/home/vmvps),B.B.B.B为服务器B的ip,需要稍微等一会儿,然后输入两次密码,注意,密码务必记住!将来备份、恢复和查看数据时都要用

restic -r sftp:root@B.B.B.B:/home/vmvps init

将A服务器的/home/backup文件夹备份到B服务器的/home/vmvps备份仓,B.B.B.B为服务器B的ip

#需要输入刚才创建备份仓时的密码  restic -r sftp:root@B.B.B.B:/home/vmvp --verbose backup /home/backup

查看备份的文件

restic -r sftp:root@B.B.B.B:/home/vmvps snapshots

返回结果类似于

enter password for repository:  repository dfc03097 opened successfully, password is correct  ID        Time                 Host        Tags        Paths  -------------------------------------------------------------------  3ddabe77  2019-02-26 02:36:32  ing                     /home/backup  -------------------------------------------------------------------  1 snapshots

删除备份文件

restic -r sftp:root@B.B.B.B:/home/vmvps forget 要删除文件的ID

恢复备份

restic -r sftp:root@B.B.B.B:/home/vmvps restore abcd --target /home/backup

免密码操作存储仓

前面说过,我们的存储仓密码几乎在任何时候都要被用到,这样一来,我们想实现脚本自动化备份的时候就带来了很大难度,可以把密码保存到文件里(务必妥善保管),加参数解决这个问题

#此处假设密码为vmvps,保存到文件/root/resticpasswd  echo 'vmvps' > /root/resticpasswd

这样,在进行操作时就可以加入–password-file /root/resticpasswd参数达到免密码的目的了,比如备份时可以使用如下命令,加到crontab里实现自动备份了

restic -r sftp:root@B.B.B.B:/home/vmvp --verbose backup /home/backup --password-file /root/resticpasswd

如文章最开始所言,Restic除了Sftp还支持多种备份方式,比如rclone等等,大家可以参考官方的文章,会有更多的收获!

Shared via Inoreader