英语法语西班牙语

Ad


OnWorks 网站图标

borgbackup - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 borgbackup

这是命令 borgbackup,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


borg - BorgBackup 是一个重复数据删除备份程序,具有可选的压缩和
认证加密。

Borg 由许多命令组成。 每个命令都接受许多参数和
选项。 以下部分将详细描述每个命令。

一般


Type of 日志 产量
内置日志配置的日志级别默认为 WARNING。 这是因为
我们希望 Borg 大部分时间保持沉默,只输出警告、错误和关键消息。

日志级别:DEBUG < INFO < WARNING < ERROR < CRITICAL

使用 -调试 设置调试日志级别 - 获取调试、信息、警告、错误和关键级别
输出。

使用 - 信息 (或 -v or --详细) 设置 INFO 日志级别 - 获取信息、警告、错误和
临界水平输出。

使用 - 警告 (默认)设置警告日志级别 - 获取警告、错误和严重
电平输出。

使用 - 错误 设置错误日志级别 - 获取错误和关键级别输出。

使用 - 危急 设置关键日志级别 - 获得关键级别输出。

虽然你可以设置 misc。 日志级别,不要期望每个命令都会给出不同的
在不同的日志级别上输出 - 这只是一种可能性。

警告:
选项 --critical 和 --error 是为了完整性而提供的,它们的用法不是
推荐,因为您可能会错过重要信息。

警告:
虽然一些选项(如 --统计 or - 列表) 将发出更多信息性消息,您
必须使用 INFO(或更低)日志级别才能使它们显示在日志输出中。 用 -v 或者
日志配置。

退货 代码
Borg 可以使用以下返回码 (rc) 退出:

0 = 成功(记录为 INFO)
1 = 警告(操作达到正常结束,但有警告 -
您应该检查日志,记录为警告)
2 = 错误(如致命错误、本地或远程异常、操作
没有达到正常结束,记录为 ERROR)
128+N = 被信号 N 杀死(例如 137 == kill -9)

如果你使用 --显示-rc,返回代码也作为最后一个记录在指示的级别
日志条目。

环境 变量
Borg 使用一些环境变量来实现自动化:

总机:

博格回购
设置后,使用该值提供默认存储库位置。 如果一个
命令需要一个归档参数,可以缩写为 ::档案。 如果一个
命令需要一个存储库参数,您可以将其保留或
缩写为 ::, 如果需要位置参数。

BORG_密码
设置后,使用该值回答加密的密码问题
仓库。

BORG_DISPLAY_PASSPHRASE
设置后,使用该值回答“显示密码短语
为加密定义新密码时的验证”问题
仓库。

BORG_LOGGING_CONF
设置后,使用给定的文件名作为 INI风格的日志配置。

博格_RSH
设置后,使用此命令而不是 SSH. 这可用于指定 ssh
选项,例如自定义身份文件 SSH -i /路径/到/私有/密钥。 看 男子
SSH 其他选项。

TMPDIR 存储临时文件的地方(可能需要大量临时空间
一些操作)

自动 回答者 (如果 组, 他们 自动 回答 确认 问题):

BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=否 (或 =是的)
对于“警告:试图访问以前未知的未加密
存储库”

BORG_RELOCATED_REPO_ACCESS_IS_OK=否 (或 =是的)
对于“警告:位置...的存储库以前位于...”

BORG_CHECK_I_KNOW_WHAT_I_AM_DOING=否 (或 =是)
对于“警告:'check --repair' 是一个实验性的功能,可能会导致
数据丢失。”

BORG_DELETE_I_KNOW_WHAT_I_AM_DOING=否 (或 =是)
对于“您要求完全删除存储库 如: 所有
它包含的档案:"

注意:答案区分大小写。 设置无效的答案值可能会给出
默认答案或以交互方式询问您,具体取决于重试是否成功
允许(默认情况下是允许的)。 所以请以交互方式测试您的脚本
在使它们成为非交互式脚本之前。

目录:

BORG_KEYS_DIR 目录
默认为'〜/.config/borg/keys'。 此目录包含用于加密的密钥
仓库。

BORG_CACHE_DIR 目录
默认为'~/.cache/博格'。 该目录包含本地缓存和
可能需要大量空间来处理大型存储库)。

建造:

BORG_OPENSSL_PREFIX
将给定的 OpenSSL 头文件目录添加到默认位置
(setup.py)。

BORG_LZ4_PREFIX
将给定的 LZ4 头文件目录添加到默认位置 (setup.py)。

请注意:

· 使用“是”时要非常小心,提示的警告存在于您的 /
您的数据的安全性

· 将您的密码短语放入脚本时也要非常小心,确保它具有
适当的文件权限(例如模式 600,root:root)。

资源中心 用法
Borg 可能会使用大量资源,具体取决于它处理的数据集的大小
用。

CPU: 它不会超过 100% 的 1 个核心,因为代码目前是单线程的。
特别是更高的 zlib 和 lzma 压缩级别使用大量 CPU
周期。

内存 (内存):
出于性能原因,块索引和文件索引被读入内存。
压缩,尤其是具有高级别的 lzma 压缩可能需要大量
的记忆。

临时 文件:
从 FUSE 挂载的存储库读取数据和元数据将消耗大约
与用于在存储库中表示它们的重复数据块相同的空间。

缓存 文件:
包含块索引和文件索引(加上压缩的集合
单归档块索引)。

切大块 指数:
与您的存储库中的数据块数量成正比。 你的回购中有很多块
暗示一个大块索引。 可以调整 chunker 参数(请参阅创建
选项)。

指数:
与上次备份中的文件数量成正比。 可以关闭(见
创建选项),但如果你这样做,下一次备份会慢得多。

网络:
如果您的存储库是远程的,所有重复数据删除(和可选的压缩/
加密)数据当然必须通过连接(ssh:repo url)。 如果你
使用本地安装的网络文件系统,另外还使用了一些复制操作
对于交易支持,也要通过连接。 如果您备份多个源
到一个目标存储库,缓存重新同步会发生额外的流量。

如果您对更多详细信息感兴趣,请阅读内部文档。

Units
为了显示数量,Borg 注意遵守通常的比例约定。 磁盘
尺寸显示在 十进制, 使用十的幂(所以 kB 表示 1000 字节)。 用于记忆
用法, 二进制 前缀 被使用,并使用 IEC 二进制 前缀使用
二的幂(所以 基布 表示 1024 字节)。

日期 时间
我们按照 ISO-8601 格式化日期和时间,即:YYYY-MM-DD 和 HH:MM:SS (24h
时钟)。

有关更多信息,请参阅: https://xkcd.com/1179/

除非另有说明,否则我们会显示本地日期和时间。 在内部,我们存储和处理
日期和时间为 UTC。

博格 INIT


用法:borg init [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path 路径] [-e {none,keyfile,repokey}]
[仓库]

初始化一个空仓库

位置参数:
要创建的 REPOSITORY 存储库

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-e {无,密钥文件,repokey},--加密 {无,密钥文件,repokey}
选择加密密钥模式(默认:“repokey”)

产品描述
此命令初始化一个空的存储库。 存储库是文件系统目录
包含来自零个或多个档案的重复数据删除。 可以在以下位置启用加密
存储库初始化时间。

国际私人包机价格项目范例
# 本地存储库(默认是在 repokey 模式下使用加密)
$ 博格初始化 /path/to/repo

# 本地存储库(无加密)
$ borg init --加密=无 /path/to/repo

# 远程仓库(通过 ssh 访问远程 borg)
$ borg init 用户@主机名:备份

# 远程存储库(存储您的主目录的密钥)
$ borg init --加密=密钥文件用户@主机名:备份

关于加密的重要说明:

不建议禁用加密。 存储库加密可以保护您,例如
以防攻击者可以访问您的备份存储库。

但要小心密钥/密码:

如果您想要“仅密码”安全性,请使用 回购 模式。 密钥将被存储
在存储库内(在其“配置”文件中)。 在上述攻击场景中,
攻击者将拥有密钥(但没有密码)。

如果您想要“密码短语和拥有密钥”的安全性,请使用 密钥文件 模式。 关键会
存储在您的主目录中(在 .config/博格/钥匙)。 在攻击场景中,
刚刚访问您的存储库的攻击者将没有密钥(也没有密钥)
密码)。

制作密钥文件的备份副本 (密钥文件 模式)或回购配置文件(回购 模式)和
将其保存在安全的地方,以便您仍然拥有密钥,以防它损坏或丢失。 还
将密码保存在安全的地方。 使用该密钥加密的备份不会
帮助你,当然。

确保使用好的密码。 不要太短,也不要太简单。 真正的加密 /
解密密钥用您的密码加密/锁定。 如果攻击者得到你的
密钥,他无法在不知道密码的情况下解锁和使用它。

请注意密码中的特殊或非 ASCII 字符:

· Borg 将密码处理为 unicode(并将其编码为 utf-8),因此它没有
处理最奇怪的字符的问题。

· 但是:这不一定适用于您的操作系统/虚拟机/键盘配置。

因此,最好使用由简单的 ascii 字符组成的长密码短语,而不是包含
在其他键盘上难以/不可能输入的非 ASCII 内容或字符
布局。

您可以随时更改现有存储库的密码,这不会影响
加密/解密密钥或其他秘密。

博格 CREATE


用法:borg create [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [-s] [-p] [--list]
[--filter STATUSCHARS] [-e 模式]
[--从 EXCLUDEFILE 中排除] [--排除缓存]
[--exclude-if-present 文件名] [--keep-tag-files]
[-c 秒] [-x] [--数字所有者]
[--时间戳 yyyy-mm-ddThh:mm:ss]
[--chunker-params CHUNK_MIN_EXP,CHUNK_MAX_EXP,HASH_MASK_BITS,HASH_WINDOW_SIZE]
[--ignore-inode] [-C 压缩] [--read-special] [-n]
存档路径 [路径 ...]

创建新存档

位置参数:
要创建的存档的 ARCHIVE 名称(也必须是有效的
目录名)
归档路径

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-s, --stats 打印已创建存档的统计信息
-p, --progress 在创建存档时显示进度显示,
显示原始、压缩和重复数据删除大小,
其次是看到的文件数和路径
正在处理,默认:False
--list 输出详细的项目列表(文件、目录等)
--filter STATUSCHARS 只显示具有给定状态字符的项目
-e 模式, --exclude 模式
排除匹配 PATTERN 的路径
--从排除文件中排除
从 EXCLUDEFILE 中读取排除模式,每行一个
--exclude-caches 排除包含 CACHEDIR.TAG 文件的目录
(http://www.brynosaurus.com/cachedir/spec.html)
--exclude-if-present 文件名
排除包含指定文件的目录
--keep-tag-files 保留排除缓存/目录的标签文件
-c 秒, --checkpoint-interval 秒
每 SECONDS 秒写入一次检查点(默认值:300)
-x, --一个文件系统
留在同一个文件系统中,不要交叉挂载点
--numeric-owner 只存储数字用户和组标识符
--时间戳 yyyy-mm-ddThh:mm:ss
手动指定存档创建日期/时间 (UTC)。
或者,提供一个参考文件/目录。
--chunker-params CHUNK_MIN_EXP、CHUNK_MAX_EXP、HASH_MASK_BITS、HASH_WINDOW_SIZE
指定chunker 参数。 默认值:19,23,21,4095
--ignore-inode 忽略文件元数据缓存中的 inode 数据用于
检测未更改的文件。
-C 压缩, --compression 压缩
选择压缩算法(和级别):none == no
压缩(默认),lz4 == lz4,zlib == zlib
(默认级别 6), zlib,0 .. zlib,9 == zlib (与
级别 0..9), lzma == lzma (默认级别 6), lzma,0 ..
lzma,9 == lzma(级别为 0..9)。
--read-special 打开和读取特殊文件,就好像它们是普通文件一样

-n, --dry-run 不创建备份存档

产品描述
此命令创建一个备份存档,其中包含递归找到的所有文件
遍历所有指定的路径。 归档文件几乎不占用磁盘空间或
已经存储在其他档案中的文件的一部分。

加快通过 sshfs 和类似网络文件系统提取备份的速度
提供正确的 inode 信息,可以使用 --ignore-inode 标志。 这可能
降低更改检测的可靠性,同时避免总是读取所有文件
这些文件系统。

有关排除模式的更多帮助,请参阅“borg help patterns”命令的输出。

国际私人包机价格项目范例
# 备份 〜/文件 进入一个名为“我的文档”的档案
$ borg 创建 /path/to/repo::my-documents 〜/文件

# 相同,但在我们处理它们时详细列出所有文件
$ borg create -v --list /path/to/repo::my-documents 〜/文件

# 备份 〜/文件〜/ src 但排除 pyc 文件
$ borg 创建 /path/to/repo::my-files \
〜/文件 \
〜/ src \
--排除'*.pyc'

# 备份主目录,不包括图像缩略图(即仅
# / home /*/.thumbnails 被排除在外,而不是 / home /*/*/.缩略图)
$ borg 创建 /path/to/repo::my-files /主页 \
--排除'是:^/ home /[^/]+/\.缩略图/'

# 使用 shell 风格的模式做同样的事情
$ borg 创建 /path/to/repo::my-files /主页 \
--exclude 'sh:/ home /*/.thumbnails'

# 将根文件系统备份到名为“root-YYYY-MM-DD”的存档中
# 使用 zlib 压缩(好,但慢) - 默认不压缩
$ borg create -C zlib,6 /path/to/repo::root-{now:%Y-%m-%d} / --one-file-system

# 在细粒度重复数据删除(大块管理
# 开销,需要大量内存和磁盘空间,见内部公式
# docs - 与 borg < 1.0 或 attic 相同的参数):
$ borg create --chunker-params 10,23,16,4095 /path/to/repo::small /smallstuff

# 备份一个原始设备(当时不能处于活动状态/使用中/挂载)
$ dd if=/dev/sdx bs=10M | 博格创建 /path/to/repo::my-sdx -

# 无压缩(默认)
$ borg 创建 /path/to/repo::arch ~

# 超快,低压缩
$ borg create --compression lz4 /path/to/repo::arch ~

# 速度较慢,压缩率较高(N = 0..9)
$ borg create --compression zlib,N /path/to/repo::arch ~

# 更慢,更高的压缩(N = 0..9)
$ borg create --compression lzma,N /path/to/repo::arch ~

# 可用于存档名称的格式标签:
# {now}、{utcnow}、{fqdn}、{主机名}、{用户}、{pid}
# 添加短主机名、备份用户名和当前 unixtime(从纪元开始的秒数)
$ borg 创建 /path/to/repo::{hostname}-{user}-{now:%s} ~

博格 提取


用法:borg extract [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [--list] [-n] [-e 模式]
[--从 EXCLUDEFILE 中排除] [--数字所有者]
[--strip-components 编号] [--stdout] [--sparse]
存档 [路径 [路径 ...]]

提取存档内容

位置参数:
ARCHIVE 存档以提取
要提取的 PATH 路径; 支持模式

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
--list 输出详细的项目列表(文件、目录等)
-n, --dry-run 实际上不改变任何文件
-e 模式, --exclude 模式
排除匹配 PATTERN 的路径
--从排除文件中排除
从 EXCLUDEFILE 中读取排除模式,每行一个
--numeric-owner 只服从数字用户和组标识符
--strip-components 编号
删除指定数量的前导路径元素。
元素较少的路径名将被静默
跳过。
--stdout 将所有提取的数据写入标准输出
--sparse 在输出稀疏文件中从全零创建空洞


产品描述
此命令提取存档的内容。 默认情况下,整个存档是
提取但可以通过传递一个列表来选择文件和目录的子集 路径
作为论据。 可以使用以下命令进一步限制文件选择 - 排除 选项。

有关排除模式的更多帮助,请参阅“borg help patterns”命令的输出。

国际私人包机价格项目范例
# 提取整个存档
$ borg 提取 /path/to/repo::my-files

# 在处理时提取整个存档和列表文件
$ borg extract -v --list /path/to/repo::my-files

# 解压“src”目录
$ borg extract /path/to/repo::my-files home/USERNAME/src

# 提取“src”目录但排除目标文件
$ borg extract /path/to/repo::my-files home/USERNAME/src --exclude '*.o'

# 恢复原始设备(当时不能处于活动状态/正在使用/已安装)
$ borg 提取物 --stdout /path/to/repo::my-sdx | dd of=/dev/sdx bs=10M

请注意: 现在, 提取 时刻 写入 当前 加工 目录 ("."),
所以确保你 cd 在打电话之前到正确的地方 博格 提取.

博格 查看


用法:borg check [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path PATH] [--repository-only] [--archives-only]
[--修复] [--保存空间] [--最后 N] [-P 前缀]
[存储库或存档]

检查存储库一致性

位置参数:
REPOSITORY_OR_ARCHIVE
存储库或存档以检查一致性

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
--repository-only 仅执行存储库检查
--archives-only 只执行档案检查
--repair 尝试修复发现的任何不一致
--save-space 工作速度较慢,但​​使用的空间较少
--last N 只检查最后 N 个档案(默认值:全部)
-P 前缀, --prefix 前缀
只考虑以这个前缀开头的档案名称

产品描述
check 命令验证存储库和相应档案的一致性。

首先,检查底层存储库数据文件:

· 对于所有段,段魔法(标题)被检查

·对于存储在segment中的所有对象,所有元数据(例如crc和size)和所有数据都是
读。 读取的数据通过大小和 CRC 进行检查。 位腐烂和其他类型的意外
可以通过这种方式检测损坏。

· 如果我们处于修复模式并且检测到一个段的完整性错误,我们会尝试
从段中恢复尽可能多的对象。

· 在修复模式下,确保索引与存储在
段。

· 如果你通过ssh:使用远程repo服务器,repo检查在repo服务器上执行
不会造成大量网络流量。

· 可以使用 --archives-only 选项跳过存储库检查。

二、验证存档元数据的一致性和正确性:

· 回购清单是否存在? 如果不是,则从存档元数据块(这
需要读取和解密所有元数据和数据)。

· 检查存档元数据块是否存在。 如果没有,请从清单中删除存档。

· 对于存档中的所有文件(项),对于这些文件所引用的所有块,检查是否
块存在(如果不存在并且我们处于修复模式,请将其替换为相同大小的块
零)。 这需要读取存档和文件元数据,而不是数据。

· 如果我们处于修复模式并且我们检查了所有档案:从
回购。

· 如果您通过 ssh: 使用远程 repo 服务器,则在客户端执行存档检查
机器(因为如果启用加密,检查将需要解密,这
总是在客户端完成,因为将需要密钥访问)。

· 存档检查可能很耗时,可以使用
--repository-only 选项。

博格 改名


用法:borg 重命名 [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径]
存档新名称

重命名现有存档

位置参数:
要重命名的存档存档
NEWNAME 要使用的新存档名称

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)

产品描述
此命令重命名存储库中的存档。

国际私人包机价格项目范例
$ borg 创建 /path/to/repo::archivename ~
$ borg 列表 /path/to/repo
存档名称 星期一, 2016-02-15 19:50:19

$ borg 重命名 /path/to/repo::archivename 新名称
$ borg 列表 /path/to/repo
newname 星期一, 2016-02-15 19:50:19

博格 清单


用法:borg list [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path 路径] [--short] [--list-format LISTFORMAT]
[-P 前缀]
[存储库或存档]

列出存档或存储库内容

位置参数:
REPOSITORY_OR_ARCHIVE
存储库/存档列出的内容

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
--short 只打印文件/目录名,没有别的
--list-format 列表格式
指定存档文件列表的格式(默认:
"{mode} {user:6} {group:6} {size:8d} {isomtime}
{path}{extra}{NEWLINE}") 存在特殊的“{formatkeys}”
列出可用的键
-P 前缀, --prefix 前缀
只考虑以这个前缀开头的档案名称

产品描述
此命令列出存储库或存档的内容。

国际私人包机价格项目范例
$ borg 列表 /path/to/repo
星期一 星期一, 2016-02-15 19:15:11
回购星期一,2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
newname 星期一, 2016-02-15 19:50:19
...

$ borg 列表/path/to/repo::root-2016-02-15
drwxr-xr-x 根根 0 星期一,2016 年 02 月 15 日 17:44:27。
drwxrwxr-x root root 0 星期一,2016-02-15 19:04:49 bin
-rwxr-xr-x root root 1029624 星期四,2014 年 11 月 13 日 00:08:51 bin/bash
lrwxrwxrwx root root 0 Fri, 2015-03-27 20:24:26 bin/bzcmp -> bzdiff
-rwxr-xr-x 根 根 2140 星期五,2015 年 03 月 27 日 20:24:22 bin/bzdiff
...

$ borg list /path/to/repo::archiveA --list-format="{mode} {user:6} {group:6} {size:8d} {isomtime} {path}{extra}{NEWLINE}"
drwxrwxr-x 用户 user 0 Sun, 2015-02-01 11:00:00 .
drwxrwxr-x 用户 user 0 Sun, 2015-02-01 11:00:00 代码
drwxrwxr-x 用户 user 0 Sun, 2015-02-01 11:00:00 code/myproject
-rw-rw-r-- 用户用户 1416192 Sun, 2015-02-01 11:00:00 code/myproject/file.ext
...

# 根据文件修改时间、大小和文件路径,查看档案之间的变化
$ borg list /path/to/repo::archiveA --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list .archiveA
$ borg list /path/to/repo::archiveB --list-format="{mtime:%s}{TAB}{size}{TAB}{path}{LF}" |sort -n > /tmp/list .archiveB
$ diff -y /tmp/list.archiveA /tmp/list.archiveB
1422781200 0 。 1422781200 0 。
1422781200 0 代码 1422781200 0 代码
1422781200 0 代码/我的项目 1422781200 0 代码/我的项目
1422781200 1416192 代码/myproject/file.ext | 1454664653 1416192 代码/myproject/file.ext
...

博格 删除


用法:borg delete [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [-p] [-s] [-c] [--save-space]
[目标]

删除现有存储库或存档

位置参数:
要删除的目标存档或存储库

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-p, --progress 在删除单个存档时显示进度
-s, --stats 打印已删除存档的统计信息
-c, --cache-only 仅删除给定存储库的本地缓存
--save-space 工作速度较慢,但​​使用的空间较少

产品描述
此命令从存储库或完整存储库中删除存档。 磁盘
相应地回收空间。 如果删除完整的存储库,则本地缓存
它(如果有)也被删除。

国际私人包机价格项目范例
# 删除单个备份存档:
$ borg 删除 /path/to/repo::Monday

# 删除整个存储库和相关的本地缓存:
$ borg 删除 /path/to/repo
您请求完全删除存储库*包括*它包含的所有档案:
回购星期一,2016-02-15 19:26:54
root-2016-02-15 Mon, 2016-02-15 19:36:29
newname 星期一, 2016-02-15 19:50:19
如果您理解这一点并想继续,请输入“是”:是

博格 修剪


用法:borg prune [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [-n] [-s] [--list]
[--keep-within 内] [-H 每小时] [-d 每天] [-w 每周]
[-m 每月] [-y 每年] [-P 前缀] [--save-space]
[仓库]

根据指定规则修剪存储库档案

位置参数:
要修剪的 REPOSITORY 存储库

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-n, --dry-run 不更改存储库
-s, --stats 打印已删除存档的统计信息
--list 输出它保留/修剪的档案的详细列表
--keep-within WITHIN 在此时间间隔内保留所有档案
-H 每小时, --keep-hourly 每小时
要保留的每小时档案数
-d 每日,--保持每日每日
要保留的每日档案数
-w 每周, --keep-weekly 每周
要保留的每周档案数
-m 每月,--keep-monthly 每月
每月要保留的档案数
-y 每年, --keep-yearly 每年
要保留的年度档案数
-P 前缀, --prefix 前缀
只考虑以这个前缀开头的档案名称
--save-space 工作速度较慢,但​​使用的空间较少

产品描述
prune 命令通过删除与任何不匹配的档案来修剪存储库
指定的保留选项。 此命令通常由自动备份脚本使用
想要保留一定数量的历史备份。

例如,“-d 7”表示每天保留最新的备份,最多 7 个最近的
有备份的天数(没有备份的天数不算在内)。 规则适用于每小时
到每年,之前规则选择的备份不计入以后的备份
规则。 每个备份完成的时间用于修剪目的。 日期和时间
以当地时区解释,周从周一到周日。 指定一个
要保留的档案数为负数意味着没有限制。

“--keep-within”选项采用“ ", 其中字符是 "H",
“d”、“w”、“m”、“y”。 例如,“--keep-within 2d”表示保留所有
在过去 48 小时内创建。 “1m”表示“31d”。 保存的档案
此选项不计入任何其他选项指定的总数。

如果使用 -P 设置前缀,则仅考虑以该前缀开头的档案
对于删除,只有那些档案才计入规则指定的总数。
除此以外, 所有 存储库中的档案是删除的候选者!

国际私人包机价格项目范例
小心,prune 是一个潜在的危险命令,它会删除备份存档。

prune 的默认值是应用于 所有 档案 in 知识库 除非你限制它
使用 - 字首。 使用时 - 字首, 小心
选择一个好的前缀 - 例如,如果您不想匹配,请不要使用前缀“foo”
“foobar”。

强烈建议始终运行 修剪 --试运行 ... 首先你会看到它是什么
没有它实际上做任何事情。

# 保留 7 个日终和 4 个额外的周末档案。
# 在不删除任何内容的情况下进行试运行。
$ borg prune --dry-run --keep-daily=7 --keep-weekly=4 /path/to/repo

# 同上,但仅适用于以“foo”开头的档案名称:
$ borg prune --keep-daily=7 --keep-weekly=4 --prefix=foo /path/to/repo

# 保留 7 个日终,4 个额外的周末档案,
# 以及每个月的月末存档:
$ borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=-1 /path/to/repo

# 保留过去 10 天内的所有备份,另外 4 个周末存档,
# 以及每个月的月末存档:
$ borg prune --keep-within=10d --keep-weekly=4 --keep-monthly=-1 /path/to/repo

博格 信息


用法:borg info [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径]
档案

显示存档详细信息,例如使用的磁盘空间

位置参数:
ARCHIVE 存档以显示有关的信息

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)

产品描述
此命令显示有关指定存档的一些详细信息。

国际私人包机价格项目范例
$ 博格信息 /path/to/repo::root-2016-02-15
名称:root-2016-02-15
Fingerprint: 57c827621f21b000a8d363c1e163cc55983822b3afff3a96df595077a660be50
主机名:我的主机名
用户名:root
时间(开始): 2016-02-15 19:36:29 Mon
时间(结束): 2016-02-15 周一 19:39:26
命令行:/usr/local/bin/borg create -v --list -C zlib,6 /path/to/repo::root-2016-02-15 / --one-file-system
文件数:38100

原始尺寸 压缩尺寸 去重尺寸
此存档:1.33 GB 613.25 MB 571.64 MB
所有档案:1.63 GB 853.66 MB 584.12 MB

唯一区块 总区块
区块索引:36858 48844

博格 安装


用法:borg mount [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [-f] [-o 选项]
REPOSITORY_OR_ARCHIVE MOONTPOINT

将存档或整个存储库挂载为 FUSE 文件系统

位置参数:
REPOSITORY_OR_ARCHIVE
要挂载的存储库/存档
MOONTPOINT 在哪里挂载文件系统

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-f, --foreground 留在前台,不要守护进程
-o OPTIONS 额外的挂载选项

产品描述
此命令将存档安装为 FUSE 文件系统。 这对于浏览
归档或恢复单个文件。 除非 - 前景 选项给出了命令
将在后台运行,直到文件系统 已卸载.

国际私人包机价格项目范例
$ borg 安装 /path/to/repo::root-2016-02-15 /tmp/mymountpoint
$ ls /tmp/我的挂载点
bin boot etc home lib lib64lost+found media mnt opt root sbin srv tmp usr var
$ fusionmount -u /tmp/mymountpoint

博格 更改密码


用法:borg 更改密码 [-h] [--critical] [--error] [--warning] [--info]
[--debug] [--lock-wait N] [--show-rc]
[--无文件缓存] [--umask M]
[--远程路径路径]
[仓库]

更改存储库密钥文件密码

位置参数:
存储库

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)

产品描述
用于存储库加密的密钥文件可选择受密码保护。 这个
命令可用于更改此密码。

国际私人包机价格项目范例
# 创建密钥文件保护存储库
$ borg init --加密=密钥文件 -v /path/to/repo
在“/path/to/repo”处初始化存储库
输入新密码:
再次输入相同的密码:
记住你的密码。 没有它,您的数据将无法访问。
键入已创建的“/root/.config/borg/keys/mnt_backup”。
保管好这把钥匙。 没有它,您的数据将无法访问。
正在同步块缓存...
存档:0,带缓存的 Idx:0,带过时的 Idx:0,不带缓存的 Idx:0。
完成。

# 更改密钥文件密码
$ borg 更改密码 -v /path/to/repo
输入密钥 /root/.config/borg/keys/mnt_backup 的密码:
输入新密码:
再次输入相同的密码:
记住你的密码。 没有它,您的数据将无法访问。
密钥已更新

博格 服务


用法:borg serve [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--remote-path 路径] [--restrict-to-path 路径]

以服务器模式启动。 此命令通常不手动使用。

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
--restrict-to-path 路径
限制对 PATH 的存储库访问

产品描述
此命令启动存储库服务器进程。 这个命令通常不使用
手动。

国际私人包机价格项目范例
borg serve 对 ssh 强制命令有特殊支持(参见 授权密钥 例子
下面):它会检测到您使用了这样的强制命令并提取了
--限制到路径 选项)。 然后它将解析来自
客户,确保它也是 博格 服务 并强制执行由给出的路径限制
强制命令。 这样,客户端给出的其他选项(如 - 信息 or --umask)
被保留(并且不被强制命令修复)。

# 允许一个 SSH 密钥对只能运行 borg,并且只能访问 /path/to/repo。
# 使用关键选项禁用不需要的和潜在危险的 SSH 功能。
# 这将有助于保护自动远程备份系统。
$猫 〜/.ssh/authorized_keys
command="borg serve --restrict-to-path /path/to/repo",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh-rsa AAAAB3[...]

博格 升级


用法:borg upgrade [-h] [--critical] [--error] [--warning] [--info] [--debug]
[--lock-wait N] [--show-rc] [--no-files-cache] [--umask M]
[--远程路径路径] [-p] [-n] [-i]
[仓库]

从以前的版本升级存储库

位置参数:
要升级的存储库的存储库路径

可选参数:
-h,--help显示此帮助消息并退出
--日志级别的关键工作CRITICAL
--error 在日志级别 ERROR 上工作
--warning 在日志级别 WARNING 上工作(默认)
--信息、-v、--详细
在日志级别 INFO 上工作
--调试日志级别的调试工作
--lock-wait N 等待锁定,但最大。 N 秒(默认值:1)。
--show-rc 显示/记录返回码 (rc)
--no-files-cache 不加载/更新用于的文件元数据缓存
检测未更改的文件
--umask M 将 umask 设置为 M(本地和远程,默认值:0077)
--remote-path PATH 将远程路径设置为可执行文件(默认:“borg”)
-p, --progress 在升级存储库时显示进度
-n, --dry-run 不更改存储库
-i, --inplace 就地重写存储库,没有机会去
回到旧版本的存储库。

产品描述
升级现有的 Borg 存储库。 这目前支持转换阁楼
存储库到 Borg,还有助于将 Borg 0.xx 转换为 1.0。

目前,只能升级 LOCAL 存储库(问题 #465)。

它将更改存储库段中的魔法字符串以匹配新的 Borg 魔法
字符串。 在 $ATTIC_KEYS_DIR 或 ~/.阁楼/钥匙/ 也将被转换
并复制到 $BORG_KEYS_DIR 或 ~/.config/borg/keys。

缓存文件从 $ATTIC_CACHE_DIR 或 ~/.cache/阁楼 到 $BORG_CACHE_DIR
or ~/.cache/博格,但是 Borg 和 Attic 之间的缓存布局发生了变化,所以有可能
由于缓存重新同步,转换后的第一次备份花费的时间比预期的要长。

如果中断,升级应该能够恢复,尽管它仍然会迭代所有
段。 如果您想从头开始,请使用 博格 删除 通过复制的存储库到
确保缓存文件也被删除:
博格删除博格

除非 - 到位 指定,升级过程首先创建一个备份副本
存储库,在 REPOSITORY.upgrade-DATETIME 中,使用硬链接。 这需要比
地方升级,但更安全并提供进度信息(与 cp -al).
一旦您对转换感到满意,您就可以安全地销毁备份副本。

警告:就地运行升级将使当前副本无法用于旧版本
版本,无法返回到以前的版本。 这可能会永久损坏您的
存储库! Attic 无法读取 BORG 存储库,因为魔法字符串已更改。 你
已被警告。

国际私人包机价格项目范例
# 将 borg 存储库升级到最新版本。
$ 博格升级 -v /path/to/repo
在 /path/to/repo.upgrade-2016-02-15-20:51:55 中制作硬链接副本
使用 borg 打开阁楼存储库并进行转换
没有找到存储库的密钥文件
转换 repo 索引 /path/to/repo/index.0
转换 1 段...
将博格 0.xx 转换为博格当前
没有找到存储库的密钥文件

其他条款 帮助


博格 帮助 模式
排除模式支持四种不同的样式,fnmatch、shell、正则表达式和
路径前缀。 如果后跟冒号 (':'),则使用模式的前两个字符
作为样式选择器。 非默认样式时,需要显式选择样式
或当所需的模式以两个字母数字字符开头,后跟一个
冒号(即 aa:某事/*).

匹配, 选择器 FM:
这些模式使用 shell 模式语法的变体,“*”匹配任意数量的
人物, '?' 匹配任何单个字符,'[...]' 匹配任何单个字符
指定的,包括范围,以及 '[!...]' 匹配任何未指定的字符。 为了
这些模式的用途,路径分隔符('' 用于 Windows,'/' 用于其他系统)
没有被特殊对待。 将元字符括在方括号中以进行文字匹配(即
[?] 匹配文字字符 ?)。 对于匹配模式的路径,它必须
从头到尾完全匹配,或者必须从开始到路径之前匹配
分隔器。 除了根路径,路径永远不会以路径分隔符结尾
尝试匹配。 因此,如果给定的模式以路径分隔符结尾,则 '*' 是
在尝试匹配之前附加。

贝壳样式,选择器 sh:
像 fnmatch 模式一样,这些模式类似于 shell 模式。 不同之处在于
模式可能包括 ** / 匹配零个或多个目录级别, * 匹配零
或更多任意字符,任何路径分隔符除外。

正则表达式、选择器 回覆:
支持类似于 Perl 中的正则表达式。 不同于贝壳图案
不需要正则表达式来匹配完整路径和任何子字符串匹配
足够了。 强烈建议将模式锚定到开头 ('^'),到
结束('$')或两者兼而有之。 路径中的路径分隔符('' 用于 Windows,'/' 用于其他系统)
在应用模式之前,始终将其标准化为正斜杠 ('/')。 常规的
表达式语法在 蟒蛇 文件 re 模块.

前缀路径,选择器 pp:
这种模式样式对于匹配整个子目录很有用。 图案 pp:/数据/条
火柴 /数据/条 以及其中的一切。

排除项可以通过命令行选项传递 - 排除. 当从内部使用时
shell 应该引用模式以保护它们不被扩展。

--排除从 选项允许从一个文本文件加载排除模式
每行图案。 删除后的行为空或以数字符号 ('#') 开头
两端的空白被忽略。 还支持可选的样式选择器前缀
对于从文件加载的模式。 由于空白删除路径在
开始或结束只能使用正则表达式排除。

例子:

# 排除 '/home/user/file.o' 但不排除 '/home/user/file.odt': $ borg create -e '
*
.o' 备份 /

# 排除 '/home/user/junk' 和 '/home/user/subdir/junk' 但 # 不
'/home/user/importantjunk' 或 '/etc/junk': $ borg create -e '/ home /
*
/垃圾'备份/

# 排除'/home/user/cache'的内容但不排除目录本身:$ borg create
-e /home/user/cache/ 备份 /

# 文件 '/home/user/cache/important' 是 不能 备份:$ borg create -e
/home/user/cache/ 备份 / /home/user/cache/important

# '中目录的内容/主页' 当他们的名字 # 结尾时不会被备份
'.tmp' $ borg create --exclude 're:^/ home /[^/]+.tmp/'备份/

# 从文件中加载排除项 $ cat >exclude.txt < / home //垃圾 *。TMP
fm:aa:东西/ 回复:^/ home /[^/].tmp/sh:/ home /
*
/.thumbnails EOF $ borg create --exclude-from exclude.txt 备份 /

DEBUG 指令


还有一些命令(都以“debug-”开头),它们都是 不能
正常 使用可能 非常 危险的 如果使用不当。

它们的存在是为了在没有直接系统访问的情况下提高调试能力,例如
你曾经遇到过一些严重的故障。 仅当您知道自己在做什么或
如果值得信赖的 Borg 开发人员告诉您该怎么做。

附加 附注


这里有杂项。 关于使用中可能没有足够详细地涵盖的主题的注释
部分。

Item 标志
博格 创建信息图 -v - 列表 输出所有文件、目录和其他文件的详细列表
它考虑的系统项目(无论它们是否有内容更改)。 对于每个
项目,它作为一个单字母标志的前缀,指示项目的类型和/或状态。

如果您只对该输出的一个子集感兴趣,您可以给出例如 --过滤器=AME
它只会显示具有 A、M 或 E 状态的常规文件(见下文)。

大写字符表示常规文件相对于“文件”的状态
缓存(与 repo 无关——如果不使用文件缓存,这是一个问题)。
在任何情况下都存储元数据,并且对于“A”和“M”,还存储了新的数据块。 为了
'U' 所有数据块都是指已经存在的块。

· 'A' = 常规文件,已添加(另见常见问题解答中的 a_status_oddity)

· 'M' = 普通文件,已修改

· 'U' = 普通文件,不变

· 'E' = 普通文件,访问/读取时发生错误 Free Introduction 文件

小写字符表示常规文件以外的文件类型,borg 通常只是
存储他们的元数据:

· 'd' = 目录

· 'b' = 块设备

· 'c' = 字符设备

· 'h' = 普通文件,硬链接(到已经看到的 inode)

· 's' = 符号链接

· 'f' = 先进先出

使用的其他标志包括:

· 'i' = 从标准输入 (stdin) 读取备份数据

· '-' = 试运行,项目是 不能 备份

·“?” = 缺少状态代码(如果您看到此信息,请提交错误报告!)

--chunker-参数
chunker 参数影响如何将输入文件切割成碎片(块),然后
考虑进行重复数据删除。 它们还对资源使用(RAM 和磁盘
空间),因为所需的资源量(也)由总数量决定
存储库中的块(请参阅 指数 / 高速缓存 记忆 用法 了解详细信息)。

--chunker-params=10,23,16,4095 导致细粒度的重复数据删除并创建一个大的
块的数量,因此使用大量资源来管理它们。 这对
数据量相对较小,并且机器有大量可用 RAM 和磁盘
空间。

--chunker-params=19,23,21,4095 (默认)导致粗粒度的重复数据删除和
创建的块数量要少得多,因此使用的资源更少。 这对
相对较大的数据量,如果机器的可用 RAM 量相对较少,并且
磁盘空间。

如果您已经在存储库中制作了一些档案,然后更改了chunker 参数,
这当然会影响重复数据删除,因为块的切割方式不同。

在最坏的情况下(所有文件都很大并且在备份之间被触及),这将存储
再次将所有内容放入存储库。

通常,它并没有那么糟糕:

· 通常大多数文件都不会被触及,所以它只会重新使用它已经拥有的旧块
在回购

· 小于(旧的和新的)最小块大小的文件导致只有一个块
无论如何,因此生成的块是相同的,并且将应用重复数据删除

如果您切换 chunker params 来为已经有一些的现有 repo 节省资源
备份档案,随着时间的推移,您会看到越来越大的影响,当越来越多的文件
已使用更大的块大小再次触及并存储 所有对
较小的旧块已被删除(通过删除/修剪档案)。

如果你想立即看到对资源使用的巨大影响,你最好开始一个新的
更改chunker 参数时的存储库。

有关更多详细信息,请参阅 chunker_details。

--特别阅读
选项 --特别阅读 不适用于普通的文件系统级(完整或
部分递归)备份。 如果您想做某事,则仅提供此选项
... 特别的 -- 如果您已经精心挑选了一些要以这种方式处理的文件。

博格 创建信息图 --特别阅读 将打开所有文件而不做任何特殊处理
根据文件类型(这里唯一的例外是目录:它们将被递归
进入)。 想象一下如果你这样做会发生什么 文件名 --- 你会在那里看到的内容
是 borg 将为该文件名备份的内容。

因此,例如,将遵循符号链接,将读取块设备内容,命名管道
/UNIX 域套接字将被读取。

使用时,您需要小心您提供的文件名 --特别阅读,例如如果
你给 /开发/零,您的备份永远不会终止。

给定文件的元数据被保存,因为它不会被保存 --特别阅读 (例如它的
名称,它的大小 [可能是 0],它的模式,等等)——此外,还有读取的内容
它将为它保存。

目前仅支持通过以下方式恢复此类文件的内容 --标准输出
选项(你必须将标准输出重定向到它应该去的地方,也许直接进入一个
您选择的现有设备文件或间接​​通过 dd).

例如:
假设您制作了一些要备份的逻辑卷 (LV) 的快照。

注意:
对于某些场景,这是获得“类崩溃”一致性的好方法(我称之为
类似崩溃,因为它与您点击重置按钮或
你的机器会突然完全崩溃)。 这比没有一致性要好
对某些用例来说是一个很好的方法,但如果你有的话可能还不够好
数据库运行。

然后创建所有这些快照的备份存档。 备份过程将看到一个
逻辑卷的“冻结”状态,而进程在原始卷中工作
继续更改存储在那里的数据。

您还添加了输出 lvdisplay命令 到您的备份,以便您可以查看 LV 大小,以防万一
您永远需要重新创建和恢复它们。

备份完成后,您再次删除快照。

$ # 在此处创建快照
$ lvdisplay > lvdisplay.txt
$ borg create --read-special /path/to/repo::arch lvdisplay.txt /dev/vg0/*-snapshot
$ # 在此处删除快照

现在,让我们看看如何从这样的备份中恢复一些 LV。

$ borg 提取/path/to/repo::arch lvdisplay.txt
$ # 在此处创建具有正确大小的空 LV(查看 lvdisplay.txt)。
$ # 我们假设您创建了一个空的 root 和 home LV 并现在覆盖它:
$ borg extract --stdout /path/to/repo::arch dev/vg0/root-snapshot > /dev/vg0/root
$ borg extract --stdout /path/to/repo::arch dev/vg0/home-snapshot > /dev/vg0/home

仅附加 模式
存储库可以设置为“仅附加”,这意味着 Borg 永远不会覆盖或
删除提交的数据。 这对于多台机器备份到一个
中央备份服务器使用 博格 服务, 因为被黑的机器不能删除备份
永久。

要激活仅附加模式,请编辑存储库 配置 文件并添加一行 仅附加=1
[储存库] 部分(或编辑该行,如果它存在)。

在 append-only 模式下,Borg 会在 交易 文件,其中
每行是一个事务和一个 UTC 时间戳。

例如:
假设攻击者远程删除了所有备份,但您的存储库是仅附加的
模式。 这种情况下的事务日志可能如下所示:

交易 1,UTC 时间 2016-03-31T15:53:27.383532
交易 5,UTC 时间 2016-03-31T15:53:52.588922
交易 11,UTC 时间 2016-03-31T15:54:23.887256
交易 12,UTC 时间 2016-03-31T15:55:54.022540
交易 13,UTC 时间 2016-03-31T15:55:55.472564

从您的安全日志中,您可以得出结论,攻击者在 15:54:00 获得了访问权限,并且所有
被损坏的备份删除或替换的备份。 从日志中你知道
交易 11 及以后的交易受到损害。 请注意,交易 ID 是交易的名称
最后 交易文件中。 例如,事务 11 跨越文件 6 到 11。

在真正的攻击中,您可能希望保持受感染的存储库完好无损以进行分析
攻击者试图实现的目标。 制作此副本以防万一也是个好主意
恢复过程中出现问题。 由于恢复是通过删除一些文件来完成的,因此
硬链接复制(cp -al) 足够了。

第一步将存储库重置为事务5,最后一个不妥协
交易,是删除 提示.N指数 存储库中的文件(这两个文件
总是消耗品)。 在这个例子中,N 是 13。

然后从段目录中删除或移动所有段文件 数据/ 从...开始
文件 6:

rm数据/**/{6..13}

这就是全部。

缺点
由于数据只被追加,没有被删除,命令像 修剪 or 删除 不会自由
磁盘空间,它们只是将数据标记为在新事务中已删除。

请注意,您可以通过编辑在正常和仅附加操作之间来回切换
配置文件,它不是“单程旅行”。

进一步 注意事项
除了 Borg 之外的工具不支持追加模式。 rm 仍然适用于
存储库。 确保备份客户端机器只能通过以下方式访问存储库
博格 服务.

如果存储库临时设置为正常,请确保无法进行远程访问
用于例如定期修剪的模式。

可以实施进一步的保护,但不在 Borgs 的范围内。 例如,文件
系统快照或包装 博格 服务 对新数据设置特殊权限或 ACL
文件。

使用 onworks.net 服务在线使用 borgbackup


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad