Linux 实用工具:Restic 跨平台备份工具
Restic 是一款 GO 语言开发的开源免费且快速、高效和安全的跨平台备份工具。Restic 使用加密技术来保证你的数据安全性和完整性,可以将本地数据加密后传输到指定的存储。
Restic 同样支持增量备份,可随时备份和恢复备份。Restic 支持大多数主流操作系统,比如:Linux、macOS、Windows 以及一些较小众的操作系统 FreeBSD 和 OpenBSD 等。
支持的存储库
- 本地存储
- SFTP 服务
- REST Server
- Amazon S3
- Minio Server
- OpenStack Swift
- Backblaze B2
- Microsoft Azure Blob Storage
- Google Cloud Storage
- 通过 Rclone 挂载的存储 (比如:Google Drive、OneDrive 等)
实践是检验真理的唯一标准,既然那么好,我们就测试看看。
- Github : https://github.com/restic/restic
安装包方式安装
Alpine Linux
在 Alpine Linux 上,你可以通过官方社区存储库安装软件包安装 restic,例如使用apk
:
apk add restic
Arch Linux
在 Arch Linux 上,有一个来自官方社区存储库,名为的 restic 安装的软件包 ,例如:pacman -S
pacman -S restic
Debian
在 Debian 上,有一个名为的包restic可以从官方存储库安装,例如apt-get:
apt-get install restic
Fedora
restic 可以使用以下方式安装dnf:
dnf install restic
如果你之前使用过 copr 的 restic,请按如下方式删除 copr repo 以避免任何冲突:
dnf copr remove copart/restic
macOS
如果你使用的是 macOS,则可以使用Homebrew安装 restic :
brew install restic
在 Linux 和 macOS 上,你也可以使用pkgx安装它:
pkgx install restic
您也可以使用MacPorts安装它:
sudo port install restic
Nix 和 NixOS
如果你正在使用Nix / NixOS, 那么有一个名为的软件包可用restic。可以使用以下命令安装它nix-env:
nix-env --install restic
OpenBSD
在 OpenBSD 6.3 及更高版本上,你可以使用以下命令安装 restic pkg_add:
pkg_add restic
FreeBSD
在 FreeBSD(11 以及可能的更高版本)上,你可以使用以下命令安装 restic :pkg install
pkg install restic
openSUSE
在 openSUSE(leap 15.0 及更高版本,以及 tumbleweed)上,你可以使用zypper包管理器安装 restic:
zypper install restic
RHEL 和 CentOS
对于 RHEL / CentOS Stream 8 & 9,可以从 EPEL 存储库安装 restic:
dnf install epel-release
dnf install restic
对于 RHEL7/CentOS,有一个可用的 copr 存储库,您可以尝试以下操作:
yum install yum-plugin-copr
yum copr enable copart/restic
yum install restic
如果这不起作用,您可以尝试直接添加存储库,对于 CentOS6 使用:
yum-config-manager –add-repo https://copr.fedorainfracloud.org/coprs/copart/restic/repo/epel-6/copart-restic-epel-6.repo
对于 CentOS7 使用:
yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/copart/restic/repo/epel-7/copart-restic-epel-7.repo
Solus
可以通过包管理器从 Solus 的官方仓库安装 restic eopkg:
eopkg install restic
Windows
可以使用Scoop安装 restic :
scoop install restic
使用此安装方法,restic.exe
将自动加入 PATH。可以从 cmd.exe
或 PowerShell
键入 restic
来调用它。
下载安装
CentOS 安装 Restic
二进制文件安装
yum install -y bzip2
cd /usr/local/src && wget https://github.com/restic/restic/releases/download/v0.17.0/restic_0.17.0_linux_amd64.bz2
# 因国内环境情况,建议手动下载后,放置在目标目录:https://github.com/restic/restic/releases
cd /usr/local/src && bzip2 -k -d restic_0.17.0_linux_amd64.bz2
mv restic_0.17.0_linux_amd64 restic
chmod -R 755 restic
sudo mv restic /usr/local/bin/
源码安装
cd /usr/local/src && wget https://github.com/restic/restic/releases/download/v0.17.0/restic-0.17.0.tar.gz
cd /usr/local/src && tar -zxvf restic-0.17.0.tar.gz
cd restic-0.17.0
go run build.go
mv restic /usr/bin/restic
使用 restic -h
查看使用方法:
restic -h
restic is a backup program which allows saving multiple revisions of files and
directories in an encrypted repository stored on different backends.
The full documentation can be found at https://restic.readthedocs.io/ .
Usage:
restic [command]
Available Commands:
backup Create a new backup of files and/or directories
cache Operate on local cache directories
cat Print internal objects to stdout
check Check the repository for errors
copy Copy snapshots from one repository to another
diff Show differences between two snapshots
dump Print a backed-up file to stdout
find Find a file, a directory or restic IDs
forget Remove snapshots from the repository
generate Generate manual pages and auto-completion files (bash, fish, zsh, powershell)
help Help about any command
init Initialize a new repository
key Manage keys (passwords)
list List objects in the repository
ls List files in a snapshot
migrate Apply migrations
mount Mount the repository
prune Remove unneeded data from the repository
recover Recover data from the repository not referenced by snapshots
repair Repair the repository
restore Extract the data from a snapshot
rewrite Rewrite snapshots to exclude unwanted files
self-update Update the restic binary
snapshots List all snapshots
stats Scan the repository and show basic statistics
tag Modify tags on snapshots
unlock Remove locks other processes created
version Print version information
Flags:
--cacert file file to load root certificates from (default: use system c ertificates or $RESTIC_CACERT)
--cache-dir directory set the cache directory. (default: use system default cach e directory)
--cleanup-cache auto remove old cache directories
--compression mode compression mode (only available for repository format ver sion 2), one of (auto|off|max) (default: $RESTIC_COMPRESSION) (default auto)
-h, --help help for restic
--http-user-agent string set a http user agent for outgoing http requests
--insecure-no-password use an empty password for the repository, must be passed t o every restic command (insecure)
--insecure-tls skip TLS certificate verification when connecting to the r epository (insecure)
--json set output mode to JSON for commands that support it
--key-hint key key ID of key to try decrypting first (default: $RESTIC_KE Y_HINT)
--limit-download rate limits downloads to a maximum rate in KiB/s. (default: unl imited)
--limit-upload rate limits uploads to a maximum rate in KiB/s. (default: unlim ited)
--no-cache do not use a local cache
--no-extra-verify skip additional verification of data before upload (see do cumentation)
--no-lock do not lock the repository, this allows some operations on read-only repositories
-o, --option key=value set extended option (key=value, can be specified multiple times)
--pack-size size set target pack size in MiB, created pack files may be lar ger (default: $RESTIC_PACK_SIZE)
--password-command command shell command to obtain the repository password from (defa ult: $RESTIC_PASSWORD_COMMAND)
-p, --password-file file file to read the repository password from (default: $RESTI C_PASSWORD_FILE)
-q, --quiet do not output comprehensive progress report
-r, --repo repository repository to backup to or restore from (default: $RESTIC_ REPOSITORY)
--repository-file file file to read the repository location from (default: $RESTI C_REPOSITORY_FILE)
--retry-lock duration retry to lock the repository if it is already locked, take s a value like 5m or 2h (default: no retries)
--tls-client-cert file path to a file containing PEM encoded TLS client certifica te and private key (default: $RESTIC_TLS_CLIENT_CERT)
-v, --verbose be verbose (specify multiple times or a level using --verb ose=n, max level/times is 2)
Use "restic [command] --help" for more information about a command.
Windows 安装 Restic
- 下载 https://github.com/restic/restic/releases/download/v0.17.0/restic_0.17.0_windows_amd64.zip
- 解压
restic_0.17.0_windows_amd64.zip
, 更名为restic.exe
, 移动到%SystemRoot%\System32
最后编辑:Jeebiz 更新时间:2024-11-01 12:20