差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| it:server:restic [2021-07-31 12:25] – [删除快照] goldentianya | it:server:restic [2026-01-04 17:41] (当前版本) – 移除 goldentianya | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | ====== Restic 备份 ====== | ||
| - | restic 是一个 Go 语言编写的备份工具,特点是快速、高效而且安全。(([[https:// | ||
| - | (([[https:// | ||
| - | (([[https:// | ||
| - | |||
| - | ===== 免密登录 ===== | ||
| - | |||
| - | 先在服务器 Ionos 搞个免密登录到主力服务, | ||
| - | <code bash> | ||
| - | ssh-keygen # 之前如果已经生成过就不用在生成 | ||
| - | ssh-copy-id -i ~/ | ||
| - | </ | ||
| - | |||
| - | ===== 创建仓库 ===== | ||
| - | 创建一个位于主力服务器的备份仓库 | ||
| - | <code bash> | ||
| - | restic -r sftp: | ||
| - | </ | ||
| - | |||
| - | ===== 备份数据 ===== | ||
| - | 备份SSL证书的整个目录到仓库中去。生成一个 <color # | ||
| - | <code bash> | ||
| - | restic -r sftp: | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | created new cache in / | ||
| - | lock repository | ||
| - | load index files | ||
| - | start scan on [/ | ||
| - | start backup on [/ | ||
| - | scan finished in 0.642s: 27 files, 38.355 KiB | ||
| - | |||
| - | Files: | ||
| - | Dirs: 1 new, 0 changed, | ||
| - | Data Blobs: | ||
| - | Tree Blobs: | ||
| - | Added to the repo: 31.410 KiB | ||
| - | |||
| - | processed 27 files, 38.355 KiB in 0:01 | ||
| - | snapshot 75ee283a saved | ||
| - | </ | ||
| - | |||
| - | 如果想查看一下snapshot的话 | ||
| - | < | ||
| - | restic -r sftp: | ||
| - | enter password for repository: | ||
| - | repository 4c702226 opened successfully, | ||
| - | ID Time | ||
| - | ------------------------------------------------------------------------ | ||
| - | 75ee283a | ||
| - | ------------------------------------------------------------------------ | ||
| - | 1 snapshots | ||
| - | </ | ||
| - | |||
| - | 再把 Dokuwiki 网站备份进去 | ||
| - | <code bash> | ||
| - | restic -r sftp: | ||
| - | # 结果是81MB左右,原始数据是108MB,tar 备份有37MB作用 | ||
| - | Added to the repo: 81.818 MiB | ||
| - | processed 12694 files, 108.155 MiB in 0:22 | ||
| - | snapshot af728dda saved | ||
| - | </ | ||
| - | |||
| - | 修改了一下这个帖子,再次运行这个备份命令 | ||
| - | <code bash> | ||
| - | restic -r sftp: | ||
| - | # 结果只更新了一个文件,传递了大概194KB的数据。 | ||
| - | Files: | ||
| - | Dirs: 0 new, 3 changed, | ||
| - | Data Blobs: | ||
| - | Tree Blobs: | ||
| - | Added to the repo: 194.346 KiB | ||
| - | processed 12695 files, 108.158 MiB in 0:02 | ||
| - | snapshot 7e734cf6 saved | ||
| - | </ | ||
| - | |||
| - | 再备份一个mongodb,建立一个 1.26GB左右的仓库,原数据大概1.5GB的样子 | ||
| - | <code bash> | ||
| - | restic -r / | ||
| - | # 记得加sudo,否则没有访问权限 | ||
| - | sudo restic -r / | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
| - | ===== 删除快照 ===== | ||
| - | |||
| - | <code bash> | ||
| - | # 指定快照ID来删除快照 | ||
| - | $ restic -r / | ||
| - | enter password for repository: | ||
| - | removed snapshot d3f01f63 | ||
| - | |||
| - | # 虽然上述命令将快照删除了,但文件引用的数据仍然存储在存储库中 | ||
| - | # 要清除未引用的数据,必须运行prune命令(之后存储库就变小了) | ||
| - | $ restic -r / | ||
| - | enter password for repository: | ||
| - | repository 33002c5e opened successfully, | ||
| - | |||
| - | 如果有很多快照,就要按时间清理。如下命令,只保留最近7天、8周、以及每月一份的备份。 | ||
| - | <code bash> | ||
| - | restic forget --dry-run --keep-daily 7 --keep-weekly 8 --keep-monthly 24 | ||
| - | </ | ||
| - | ====== Rclone 备份 ====== | ||
| - | |||
| - | 安装 rclone 工具 | ||
| - | <code bash> | ||
| - | curl https:// | ||
| - | </ | ||
| - | |||
| - | |||
| - | |||
