备份软件已经是一个老生常谈的话题了,今天,猿妹要和大家分享一个备份工具——restic。
Restic是一种快速、高效、免费和开源的备份应用程序,它通过AES-256加密保护你的数据,Restic 还利用重复数据删除来帮助节省备份空间。此外,Restic 与大多数主要的云提供商兼容,支持三大操作系统(Linux、macOS、Windows)和一些较小的操作系统(FreeBSD、OpenBSD)。
目前,Restic已经在Github上标星 14.6K,累计分支 999 个(Github地址:https://github.com/restic/restic)
首先,你可以从源代码编译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> to /tmp