强烈推荐这个开源备份工具,程序员人手必备的工具!

4,896 阅读1分钟

备份软件已经是一个老生常谈的话题了,今天,要和大家分享一个备份工具——restic。

Restic是一种快速、高效、免费和开源的备份应用程序,它通过AES-256加密保护你的数据,Restic 还利用重复数据删除来帮助节省备份空间。此外,Restic 与大多数主要的云提供商兼容,支持三大操作系统(Linux、macOS、Windows)和一些较小的操作系统(FreeBSD、OpenBSD)。

目前,Restic已经在Github上标星 14.6K,累计分支 999 个

Github地址:github.com/restic/rest…

首先,你可以从源代码编译restic或从发布页面下载它。一旦安装好restic,就可以开始备份:

$ restic init --repo /tmp/backup
enter password for new backend:
enter password again:
created restic backend 085b3c76b9 at /tmp/backup
Please note that knowledge of your password is required to access the repository.
Losing your password means that your data is irrecoverably lost.

并添加一些数据:

$ restic --repo /tmp/backup backup ~/work
enter password for repository:
scan [/home/user/work]
scanned 764 directories, 1816 files in 0:00
[0:29] 100.00%  54.732 MiB/s  1.582 GiB / 1.582 GiB  2580 / 2580 items  0 errors  ETA 0:00
duration: 0:29, 54.47MiB/s
snapshot 40dc1520 saved

接下来,你可以restic restore用于恢复文件,要获取所有备份快照的列表,可以使用以下的命令:

restic -r b2:bucketname:/ snapshots

例如:

$ restic -r b2:g534fbucket:/ snapshots
enter password for repository: 
ID Date Host Tags Directory
----------------------------------------------------------------------
d864c465 2018-03-27 15:20:42 client /home/curt/Documents

如果你要恢复整个快照,就运行以下命令:

restic -r b2:bucketname:/ restore snapshotID --target restoreDirectory

例如:

$ restic -r b2:g534fbucket:/ restore d864c465 --target ~
enter password for repository: 
restoring <Snapshot d864c465 of [/home/curt/Documents] at 2018-03-27 15:20:42.833131988 -0400 EDT by curt@client> to /home/curt

如果该目录仍然存在于你的系统上,请确保为restoreDirectory指定不同的位置。例如:

restic -r b2:g534fbucket:/ restore d864c465 --target /tmp

要恢复单个文件,请运行如下命令:

$ restic -r b2:g534fbucket:/restore snapshotID --target restoreDirectory --include filename

例如:

$ restic -r b2:g534fbucket:/ restore d864c465 --target /tmp --include file1.txt
enter password for repository: 
restoring <Snapshot d864c465 of [/home/curt/Documents] at 2018-03-27 15:20:42.833131988 -0400 EDT by curt@client

Github地址:github.com/restic/rest…