英语法语西班牙语

Ad


OnWorks 网站图标

dar - 云端在线

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

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

程序:

您的姓名


dar - 创建、测试、列出、提取、比较、合并、隔离 dar 档案

概要


dar [-c | -t | -l | -x | -d | -+ | -C] [ /] [ ] [ ]

达-h

达-V

商品描述


是一个功能齐全的备份工具,针对磁盘(软盘、CD-R(W)、DVD-R(W)、zip、爵士乐、
硬盘、USB 密钥等)并且自 2.4.0 版以来也适用于磁带。

可以将备份存储在给定的多个文件(以下称为“切片”)中
大小,最终在开始下一个切片之前暂停或运行用户命令/脚本。
例如,这可以允许在 DVD-R(W)、Blue-
ray 磁盘,或在继续下一个之前更改 USB 密钥。 就像它的盛大-
兄弟,伟大的“tar”命令, 也可以使用压缩,不同之处在于
压缩在存档内使用,以便能够压缩定义的切片
大小。

但最重要的特点 是它使微分和递减的能力
备份。 换句话说,仅包含新文件或已更改文件的备份
从参考备份。 此外,通过差异备份, 还存储文件
自备份参考后已被删除。 因此,在恢复时,首先是一个完整的
备份,然后是额外的差异备份,在每次恢复时,您都会获得准确的状态
进行差异备份时的文件系统。 当然,
参考备份本身可能是完整备份或差异备份,因此您可以进行相同的备份
方式增量备份。

是我知道的第一个可以在恢复过程中删除文件的备份程序! 经过
顺便说一下,在本文档中,“归档”和“备份”是同一个意思,并且使用
可以互换

不同的是 焦油 命令, 不必阅读整个档案,也不必将它们粘在一起
获取其内容的不同部分(切片):dar 存档包含一个目录
(又名“目录”)位于档案的末尾,因此它向前寻找档案
然后向后仅提取所需的文件,这比 tar 快得多
以前做。 可以将“目录”复制出存档(称为隔离的操作)
用作进一步备份的参考和内部目录的备份以防万一
档案损坏。

Dar 也可以使用顺序读取模式,其中 dar 的作用类似于 tar,只是读取字节
按字节了解整个档案以了解其内容并最终在每个档案中提取文件
步。 换句话说,存档内容位于两个位置,始终
用于类似 tar 行为的存档,适用于顺序访问媒体(磁带)和
end 用于更快的访问,适用于随机访问媒体(磁盘)。 但是请注意,焦油
存档和 dar 存档不兼容。 Dar 对 tar 档案一无所知
结构,两个 tar 都不知道 dar 档案结构。 所以继续使用 tar 如果
您已经习惯了,或者发现使用 dar 没有任何优势。 还要注意顺序
读取模式可让您从部分写入的存档中提取数据(那些未能
例如,由于缺乏磁盘空间而完成)。

Dar 格式非常有效地防止损坏:只有损坏的文件
存档中的位置将无法恢复。 有可能修复一个
损坏的存档 dar 可以无缝地与 par2 一起使用,只需在命令行上指定“par2”
(见 /etc/darrc)。 最后一个“放松”阅读模式可用,让 dar 要么忽略
档案结构有些不连贯,使用内部冗余信息来克服数据
损坏或作为最后的手段询问用户在某些存档结构时该怎么做
信息丢失(-al 选项)。 这种放松模式可用于顺序和
直接访问读取模式。 请注意,您应该使用 Parchive 来保护您的数据
而不是仅仅依靠“放松”模式,这必须被视为最后的机会
的解决方案。

处理特别使用的 POSIX 扩展属性(简称 EA)
在 Linux 下承载文件访问控制列表 (FACL) 以及安全属性
SELinux,以及在 MacOS X EA 下,它们用于存储文件分叉。 EA也有房
用户将任何键/值对添加到任何文件,这称为用户 EA。 这些
属性并不特定于任何特定的文件系统,它们以相同的方式存在于
ext3/4、HFS+ 和任何其他文件系统。

还负责文件系统特定属性(简称 FSA),您可以
猜测,特定于一个或多个文件系统。 例如文件的出生日期
适用于 HFS+ 和 NTFS,但不适用于 ext2/3/4 文件系统。 不可变属性存在
适用于 ext2/3/4 但不适用于 NTFS 而 nodump 文件对于 NTFS 不存在但存在
适用于 HFS+、ext2/3/4 和许多其他 Unix 文件系统。

稀疏文件(有漏洞的文件,系统报告使用数百 GB,而
它们有效地使用了磁盘上的几千字节)也由 达尔: 他们是
正确检测、存储和恢复到文件系统。

还能够正确保存和恢复硬链接

在深入讨论之前,先简单介绍一下切片:切片只是一个简单的文件
name 由“basename”后跟一个点组成,然后是一个数字,再次是一个点和
扩展名 (dar) 以形成该切片的文件名。 在命令行上你永远不会
必须给出切片的完整文件名,只是基名。 点之间的数字
是切片编号,它从 1 开始并且可以是任意大的(与您的
系统可以支持相应的文件名)。

让我们举个例子:
考虑到基本名称“joe”,dar 将制作一片或几片
在备份过程中(取决于您的选择)。 的文件名
这些切片将是: joe.1.dar joe.2.dar ... joe.10.dar ... 等等 如果
您想提取、列出或使用此备份作为参考,您将
只需要使用基本名称,即这里的字符串“joe”
例。

本文档的其余部分是这样组织的:

指令
您可以使用 dar 执行的七个操作

常规选项
所有操作通用的一组选项

保存、隔离和合并特定选项
一组特定于备份、目录操作的选项
隔离和归档合并

修复特定选项
一组特定于恢复操作的选项

测试和差异特定选项
一组特定于存档测试和操作的选项
归档与文件系统的比较

上市期权
一组特定于存档列表操作的选项

显式可选参数
某些系统不允许选项的可选参数,本章解释
如何克服这个限制

退出代码
值列表 执行结束返回。 本章应阅读,如果
您打算创建依赖于 dar 的脚本

讯号
详细说明信号及其对正在运行的 dar 进程的操作

FILES
列出 dar 检查的配置文件

条件句法
多亏了一个简单的命令行,命令和选项可以传递给 dar
文件(称为 DCF 文件)。 这个普通文件也可以包含特定的语法
这将使您仅在某些情况下才能将选项传递给 dar
情况/条件。 本章描述了这个简单的语法和
不同的可用条件。

用户目标
用户可以添加自己的条件,称为用户目标。 本章
描述它们是什么以及如何使用它们

环境
Dar 可能依赖环境变量来查找 DCF 文件和 DUC 文件

配置


命令:

只有七个命令定义了 dar 将执行的操作:存档创建、存档
提取、归档列表、归档测试、与文件系统的归档比较,
目录隔离和归档合并。 这些命令在下面描述。

定义后,可以使用大量选项来修改命令的方式
执行。 这些选项在命令一章之后描述。

重要 注意事项: 并非所有系统实际上都支持长选项(Solaris、FreeBSD 等)。 为了
example --create 在这些系统上将不可用,您必须使用 -c
反而。 同样,并非所有系统都支持可选参数(FreeBSD 没有
例如 GNU getopt),然后您需要明确给出参数,例如在
“-z”的位置你需要给“-z 9”,见“显式可选参数”段落
有关该点的详细信息,请参阅本文档末尾处。

-c, --create [ /]
创建一个基于名称的备份. 所有的切片
将在目录中创建如果指定,否则在
当前目录。 如果目标文件系统太小而无法
包含备份的所有切片,-p 选项(暂停之前
开始新切片)可能会引起兴趣。 否则,在这种情况下
文件系统已满,dar 将暂停操作,要求
用户腾出可用空间,然后继续其操作。 为了免费
空间,你唯一不能做的就是触摸切片
书面。 如果文件名是“-”*并且*不要求切片(没有-s
选项)档案是在标准输出上产生的,允许
用户通过管道(或磁带
设备直接或使用 dar_split 命令)。

-x, --extract [ /]
从给定的备份中提取文件。 切片预计在
当前目录或在给定的目录中. 也是
可以使用符号链接来收集不在
同一个目录。 路径也可能指向可移动设备(软盘、CD、
USB 密钥等),在这种情况下,能够挂载/卸载设备,
您不得从该目录启动 dar。 换句话说,
当前目录不得位于您计划卸载的可移动媒体上
(详见教程)。 基名可以直接设置为“-”
访问模式(默认的历史模式),然后你需要
dar_slave 与 dar 一起工作(参见 -i 和 -o 选项,以及
dar_slave 手册页)。 但是在顺序读取模式下(--sequential-
模式在命令行上使用),dar 将从标准读取存档
输入(另见 -i 选项),这最终可以结合使用
与 dar_split。

-l, --list [ /]
列出给定备份的内容。 只需要
直接访问模式下存档的最后一部分。 然而如果顺序
使用模式,dar 将从第一个切片读取整个存档
到最后一个。 “-”可以用作基名,行为相同
与 -x 选项一样(阅读上面)。

-t, --test [ /]
检查备份完整性。 即使没有压缩,dar 也能够
检测存档中的每个文件至少一个错误,感谢
每个文件数据、文件 EA 和文件 FSA 中记录的可变长度 CRC
目录。 归档结构(切片头、归档头、
目录)也受 CRC 保护,能够检测任何类型的
存档损坏。 此处相同,“-”可用作基名(请参阅
-x 选项上面的详细信息)。

-d, --diff [ /]
将备份中保存的文件与文件系统上的文件进行比较。
也可能是“-”(有关详细信息,请参阅上面的 -x 选项)。 笔记
此次行动的目标将被视为更进一步
与档案测试相比,除了档案一致性之外,
存档内容经验证与在
文件系统。 但是如果文件系统上存在新文件,dar
忽略它们。 如果您想检查自存档以来的更改
已制作,最好使用试运行差异备份。

-C, --isolate [ /]
将目录与其存档隔离(也就是说制作目录的副本)
内部目录到其自己的存档容器)。 论据是
要创建的文件的基本名称,该文件将包含目录的
复制。 -A 选项在此处是强制性的,用于给出存档的名称
要从中复制目录,根本不会修改此存档。
切片可用(-s -S -p -b 等)。 如果文件名是“-”*和*
不要求切片(无 -s 选项)隔离目录是在其上生成的
标准输出,允许用户发送结果存档
通过管道。 请注意,概念上没有太大区别
在隔离目录和存档之间。 这样你就可以做到所有
对孤立目录的操作,特别是用它代替
原始备份作为差异存档的参考,存档
测试,存档比较。 但请注意,为了进行比较 (-d
选项),因为数据不存在于孤立目录中,dar 依赖
在嵌入式 CRC 上而不是逐字节比较数据(做了什么
与普通档案),并且无法进行比较
EA 或 FSA,即使它们在目录中都有自己的 CRC
因为项目的操作系统提供的不同排序
组成 EA 和 FSA 可能导致 CRC 不同,而 EA 或
FSA完全一样,所以这里的CRC只用于检测归档
腐败。 从 2.4.0 版开始,您可以使用独立目录来
拯救它所基于的档案的损坏的内部目录
on(请参阅 -A 选项)。

-+, --merge [ /]
从一个或两个现有档案(
生成的存档名称是此命令的参数)。 dar文件
选择机制(见一般选项)让用户决定哪个
文件将出现在生成的存档中,哪个将是
忽略。 因此,此选项让用户将两个档案合并为一个
一个(具有接受所有文件的过滤机制),以及
这个选项让用户创建一个较小的档案,其中的数据
来自一两个参考档案。 请注意,任何时候
参考档案的内容被提取到真实文件中
目录:这是存档传输的存档,因此您可能缺少
支持扩展属性,同时您将能够完全
使用扩展属性操作文件从一个存档到
结果之一。 如果基名是“-”*并且*不要求切片(没有
-s 选项),归档是在标准输出上生成的,允许
用户通过管道发送生成的存档。 第一个强制
由于 -A 选项,提供了参考档案,而
提供了第二个“辅助”(和可选)参考档案
感谢 -@ 选项。 当出现平局争用时(相同的文件名
来自两个存档的必须合并),覆盖策略(-/
option) 用于定义要保留在结果存档中的那个。 经过
默认情况下,选择用于合并的存档数据是未压缩的,并重新
压缩。 因此合并操作可以用来改变
给定存档的压缩算法以及更改其
加密。 但是,为了获得更好的性能,这也是可能的,这要归功于
-ak 选项(请参阅下面的 -ak 选项以了解使用限制)
合并文件使它们保持压缩,因此无需解压缩/重新
完全执行压缩,这使操作更快。 最后的
不可能合并两个孤立的目录。

-h, --help 显示帮助用法。

-V, --version 显示版本信息。

一般 选项:

-v, --verbose 为了向后兼容,这是“-vt -vm”的别名(两者都是
选项设置)。

-vs, --verbose=跳过
显示由于指定的文件过滤排除而跳过的文件
用户

-vt, --verbose=治疗
由于由指定的文件过滤包含而显示处理的文件
用户或根本没有指定文件过滤。 对于每个文件
*在处理文件之前*显示消息。 这个选项不是
可用于存档隔离,对于存档列表无用
它总是被设置,除非使用 -q。

-vd, --verbose=dir 显示进程下的目录。 消息显示 *before*
进入一个目录。 您可以使用比 -vt 更简洁的输出
虽然仍然能够跟踪 dar 正在做什么。 请注意 -vt 和
-vd 是互斥的。

-vm, --verbose=消息
显示有关 dar 当前正在执行的操作的详细消息,但
与当前处理或跳过的文件和目录无关

-vf, --verbose=完成
在每个处理过的目录之后*发布包含数量的摘要
该目录中备份的数据以及平均压缩率
比率。 此选项仅可用于存档创建。

-va, --verbose=all 激活所有先前描述的详细选项,另见 -Q
和 -q 选项如下。 注意:当使用脚本中的 dar 时,最好使用
dar 的退出状态以了解操作以何种方式结束(见 EXIT
本文档末尾的代码)。

-q, --quiet 抑制最终统计报告。 如果没有询问详细输出
在此选项旁边,如果操作成功,则不会显示任何内容。
从脚本中使用 dar 时,最好使用 dar 的退出状态来了解
操作以哪种方式结束(在此结束时看到退出代码
文件)

-b, --beep 在需要用户操作时使终端响铃(例如
使用 -p 选项创建新切片)

-B, --batch
在此选项的参数中给出名称的文件中,您可以
在命令行上放置任何选项或参数,这将是
解析为好像它们代替了“-B " 选项。这个
您可以克服命令行大小限制的方法。 中的命令
文件可以分几行,也可以使用 -B 选项
内部文件,导致文件包含其他文件。 但是一个错误
在循环的情况下发生(一个文件是否直接包含自身)
并且 DAR 立即中止。 允许评论,并且必须以
每行散列‘#’字符。 请注意,对于要考虑的行
作为注释,哈希字符必须是
行(空格或制表符仍然可以在哈希之前)。 看 条件 句法
下面为这种类型的配置文件中更丰富的语法已知
作为 DCF 文件(Dar 配置文件)。 另见环境
在本文末尾的 ENVIRONMENT 部分中的变量 DAR_DCF_PATH
文档。

请注意,您可以在内部使用简单引号 (´arg´) 双引号 ("arg") 和反引号 (`arg`)
这样的文件,但它们需要平衡(有一个结尾)。 使用这样的字符
没有引号的含义,例如作为撇号,您需要使用
后退(“这是一个例子”)。 当然添加一个反斜杠作为正常
文件中的字符,您必须将其加倍(例如“c:\\windows”)

-N, --noconf 不要尝试阅读两者 ~/.darrc 也不是 /etc/darrc 配置
文件。 看 以下部分。

-Q 不在 stderr 上启动时不显示初始警告
终端(例如从 cronjob 启动时)。 这意味着
向用户提出的所有问题都将回答“否”,其中大多数
时间会中止程序。 请注意,此选项不能
在配置文件中使用(-B 选项)。 从 2.2.2 版开始,给
此选项也强制非交互模式,即使 dar 是
从终端启动。 这使得 dar 可以在
背景。 当你这样做时,建议也重定向标准输出
和/或 sterr 到文件:dar -Q ... &> /dev/null &

-n, --no-overwrite 不允许覆盖

如果指定了覆盖策略(请参阅 -/ 选项) -n 选项执行
只适用于切片覆盖,文件覆盖期间
恢复或合并由覆盖策略处理。 没有
覆盖策略,-n 适用于恢复的文件以及生成的文件
片。

-w, --no-warn 覆盖前不警告(适用于切片覆盖和
由覆盖策略做出的覆盖决定)。 默认情况下
允许覆盖,但在继续之前会发出警告。 这个
选项可以接收 'a' 作为参数(见下文):

-wa, --no-warn=all 这意味着 -w 选项,意味着过度避免警告
文件覆盖,DAR 还避免发出即将被删除的文件的信号
当它的类型不是预期的类型时。 文件被删除时
自参考存档以来被记录为已删除。 在
恢复差异存档,如果是给定名称的文件
存在,它被删除,但如果类型与之前的文件不匹配
在参考存档时存在(目录,普通
file、fifo、socket、char 或块设备等),警告通常是
发布以防止意外删除未保存在
参考资料的备份。 (另见 -k 选项)

-A, --ref [ ]/
根据上下文,它指定要用作的存档
参考,这是归档隔离所必需的(-C 选项)和
合并操作(-+ 选项)。 否则它指定救援目录
在恢复(-x 命令)、测试(-t 命令)或比较时使用
(-d 命令)存档。 参考备份的所有切片都是
预计在由给出的同一目录中或当前
默认目录。 通常只需要最后一个切片
提取参考目录。 如有必要,使用符号
链接也可以在这里收集不存在于
同一个目录。 你也可以点到 USB 密钥、DVD-R(W) 或
任何其他挂载目录,因为 将暂停并询问用户
对于所需的切片,如果它们不存在。 -A 的参数可能是
四种类型:

- 一个现有的存档基名,将被视为
参考

- 直接访问模式下的破折号(“-”)(默认模式,当
--senquential-read 未使用)它可能暗示使用 -o 和
-i 选项,这允许读取参考档案
来自另一端带有 dar_slave 的一对管道。
例如,Dar_slave 可以在远程主机上通过 ssh 运行。
请注意,这种类型的参数(“-”)仅在 -A 时可用
用于隔离(-C 选项)和合并(-+ 选项)。 在
顺序模式(使用--sequential-mode),存档
引用是从标准输入或命名管道中读取的
由 -i 选项指定。 -o 选项在顺序中没有用
模式。 注意合并操作(-+选项)无法读取
顺序模式下的参考存档。

- 一个加号(“+”),使引用成为当前
目录状态。 此参数仅可用于存档
创建(-c 选项)。 换句话说,没有文件的数据将是
保存,只记录 inode 的当前状态
在目录中。 此功能称为“快照”
备份。 快照备份可用作稍后的参考
仅检测或保存自此以来发生更改的文件
快照已制作。

- 一种, 如果 -af 选项已放在 -A 之前
命令行或包含的文件中(请参阅 -B 选项)。 更多
有关该功能,请参阅下面的 -af 选项。 这个表格只
可用于存档创建(-c 选项)。

在备份操作(-c 选项)期间,给定的参考存档
由于 -A 选项,用于与现有文件进行比较
文件系统。 Dar 将仅备份已更改的文件
因为参考档案已经完成。 如果没有给出 -A 选项,则
备份操作是完全备份。 如果存档为 -A 选项
参考是完整备份,有人称其为差异备份,而
如果参考档案是差异备份,有人称之为
备份类型 增量备份。 对于 dar 没有区别
在增量备份和差异备份之间的结构上,两者都是
通常在全局设计为“差异”备份
文档。

在合并操作期间(-+选项),-A的内容给定
存档将最终与 -@ 的内容一起被带走
如果指定了辅助存档(见下文),则从
这个或这些档案的文件。 请注意,您可以过滤掉文件
来自原始档案的操作和设置子集。

在目录隔离(-C 选项)期间,dar 将创建隔离的
来自带有 -A 选项的目录。

在测试、差异或提取期间,(-t、-d 或 -x 选项
分别),目录(目录)将从
用 -A 给出的档案,而不是使用内部目录
存档。 用于救援的档案必须是以前的
与同一个存档隔离(否则内容将不匹配并且
dar 将拒绝进行此操作)。 这作为备份
解决档案目录中损坏的情况,
而最好的方法仍然是使用 Parchive 来保护您的数据
反对媒体错误。

-af, --alter=固定日期
修改 -A 选项行为,使其接收作为
参数代替 [ ]/ 默认参数。 这
用于定义保存哪个文件:文件哪个修改
更新或等于, 并且考虑不变:那些
更老. 这个选项只有在创建一个时才有意义
存档(-c 选项)并且必须放在 -A 选项之前才能有一个
效果。

必须是以下两种可能格式的日期:

- 自 1 年 1970 月 XNUMX 日以来的第二个数字

- 以下形式的日期
[[[年/]月/]日-]时:分[:秒]

以下是一些日期示例:
91836383927108078

2005/11/19-19:38:48 即晚上38点7分48秒,
十一月19的2005th

20:20 即当天晚上 8 点

2-00:08 即当前的第二天中午 8 点


2/2-14:59 即1月3日下午2点到XNUMX点
今年

-@, --aux [ ]/ , --on-fly-isolate [ ]/
指定参考的辅助存档(合并上下文)或
动态隔离目录的名称(创建上下文)。 这个选项
因此仅适用于 -+ 选项(合并)和 -c 选项(归档
创建)。 请注意,--aux 和--on-fly-isolate 实际上是
相同的选项,这是使用的上下文(归档创建或
合并)导致它以某种方式行事。

在合并上下文中,在强制的 -A 选项上,您可以给出
由于 -@ 选项,第二个参考档案。 这让你
将两个档案合并为一个。 另见 -$ 选项
(加密)-~ 选项(命令执行)和 -%(加密块大小)
有关辅助参考档案的其他选项。 他们是
与存档相关的 -J、-F 和 -* 选项的相应等效项
感谢 -A 选项。

在备份上下文中 -@ 选项让用户指定存档名称
用于即时隔离。 通过即时隔离,您还可以使用 -$
选项(定义加密算法和密码),-~ 选项(定义
完成即时隔离目录后执行命令)和
-% 选项(加密块大小)。 动态隔离目录始终是
bzip2 如果可能 else gzip else lzo 压缩(使用压缩
level 9) else 没有被压缩,它也总是一个单独的切片
档案。 由于命令行的稀缺性,无法更改
用于动态隔离的压缩算法或切片大小。 如果你需要
更复杂的隔离,要么通过 libdar 寻找 GUI,要么做
一个正常的(= 不是动态的)隔离操作(顺便说一下,它是
可以隔离已经隔离的目录,这是等效的
进行复制,但您可以更改加密、压缩或
切片,例如),您还可以在隔离的上使用 dar_xform
如果您只想更改切片大小(这会更快,因为没有
解压缩/重新压缩也不需要加密/解密)。
在隔离目录上使用合并操作而不是
隔离孤立的目录,导致生成的存档不
能够作为对原始内部目录的救援
档案。 --aux-ref 是 --aux 的同义词。

-R, --fs-root
路径指向包含所有文件的目录树
将被注册到操作(备份、恢复或比较)中。
默认使用当前目录。 -P 中使用的所有其他路径
或命令行上的 -g 选项是并且必须与此相关
路径(如果 -R 不存在,则到当前目录)。 注意 -R 是
对测试(-t 选项)隔离(-C 选项)和合并(-+
选项​​)

-X, --排除
掩码是一个带有通配符的字符串(如 * 和 ? 见 水珠(7)
详细信息)适用于不是目录的文件名。 如果一个
给定文件与掩码匹配,则将其从操作中排除。 经过
默认(命令行上没有 -X),没有文件被排除在
手术。 -X 可能在命令行中出现多次,在
在这种情况下,文件将不会被考虑用于给定的操作,如果它
匹配至少一个 -X 掩码。 另请参阅 -ar 和 -am 选项。

-I,--包括
掩码应用于不是目录的文件名(请参阅
水珠(7) 有关通配符的详细信息)。 如果给定的文件匹配
掩码并且与 -X 给出的任何掩码都不匹配,该文件是
为操作选择。 默认情况下(命令中没有 -I 和 -X
行),所有文件都包含在操作中。 -我可能在场
在命令行上多次,在这种情况下,所有匹配的文件
对于给定的操作,将考虑 -I 掩码之一,如果它们
不要也匹配 -X 掩码之一。 另请参阅 -ar 和 -am 选项。

-P, --prune 不要考虑路径给出的文件或目录子树。 -P 可能
多次出现在命令行上。 与 -X 的区别是
掩码不仅适用于文件名,还包括
路径。 此外,它也适用于目录(-X 不适用)。 经过
默认(命令行上没有 -P),不排除子树或文件
从操作中,以及所有目录树(如 -R 所示
选项)被考虑。 注意可能包含像 * 这样的通配符
或者 ? 看 水珠(7) 手册页了解更多信息。

-g, --进入
只考虑文件或目录,而不是 -P。 -g 可能
在命令行上出现多次。 同样的事情在这里,
与 -I 的区别在于掩码应用于路径+文件名
并且还涉及目录。 默认情况下 -R 下的所有文件
目录被考虑。 否则,如果给出一个或多个 -g 选项,
只选择那些(如果它们不匹配任何 -P 选项)。 全部
以这种方式给出的路径必须相对于 -R 目录,该目录
默认为当前目录。 警告, -g 选项无法接收
通配符,这些不会被解释。

-[, --include-from-file
列表文件中列出的文件包含在操作中。 不
通配符表达式在列表文件中解释,null
不允许使用字符,使用回车分隔
文件名(每行一个文件名)。 请注意,此选项适用于
与 -g 完全一样的任何文件和目录,带有重要的
但是区别在于:-g 选项仅使用到根的相对路径
目录(使用 -R 选项给出的目录),而 -[ 可以使用
绝对路径也是如此。 另一个区别是当参数是
directory -g 将包含该目录下的所有子目录,
而当在提供给 -[ 的列表文件中找到相同的条目时
将包含该目录,没有子目录或子文件
在备份中注册,使用 -[ 您需要列出确切的文件集
你要备份。 因此,您可以生成一个列表文件
'find / -print > somefile' 命令并给 'somefile' 作为参数
-[ 选项。 但是请注意,dar 永远不会将文件保存在 -R 之外
给定的根目录树,即使有些列在“somefile”中
文件中。

-], --exclude-from-file
列表文件中列出的文件被排除在操作之外。 如果一个
目录在文件中列出,它的所有内容都被排除在外。 这个
选项与 -[ 相反,作用与 -P 选项相同
(特别是它与整个路径+文件名进行比较并适用
到文件和目录)。 至于-[选项,-]列表文件可以
包含绝对路径,但通配符也不会扩展。

文件 选择 in 简要:

如上所示,-I -X -P、-g、-[ 和 -] 选项用于选择要操作的文件。
-I 和 -X 仅使用文件名,不适用于目录,而 -P、-g -[ 和
-] 使用文件名 * 和 * 路径,它们 *do* 适用于目录。

从 2.2.0 版开始,存在对这些选项的两种解释模式。 正常的
原始方法和有序方法:

正常方法是默认方法,也是上面介绍的方法:
如果没有 -P 或 -] 选项将目录排除在外,则选择目录进行操作。 如果在
至少一个 -g 或 -[ 选项被赋予一个命令行,一个 -g 或 -[ 选项必须
覆盖它,否则它不会被选中进行操作。 如果目录不是
选择,在其中不进行递归(目录被修剪)。 对于非
目录文件,同样如此(P、-g、-[ 和 -] 确实适用)和第二个
还必须满足测试:没有 -X 选项必须排除文件名,如果在
至少给出了一个 -I 选项,一个必须匹配给定的文件名(使用或不使用
通配符)。

有序方法(在命令行上给出 -am 选项时):
有序方法处理 -X 和 -I 之间的存在顺序
一方面,另一方面 -P、-g、-[ 和 -](注意它也有
使用 -u 和 -U 选项时关于 EA 选择的相同操作,但那是
没有更多的文件选择)。 在有序方法中,最后一个参数采用
优先于所有以前的,让我们举个例子:

-X "*.mp?" -I "*.mp3" -I "toto*"
这里 dar 将包括除名称为“*.mp?”的文件之外的所有文件。 (那些结局
使用“mpX”,其中 X 是任何字符),但它将包括那些
以“.mp3”结尾。 它还将包括名称以“toto”开头的文件
无论他们以什么结尾。 这样,“toto.mp2”将被保存(同时它
匹配“*.mp?” 它也以“toto”)和“toto.txt”开头
作为“joe.mp3”(虽然它匹配“*.mp?”,但它也以“mp3”结尾)。 但是会
不会被保存为“joe.mp2”(因为它不是以“toto”开头,也不是以
“mp3”,并匹配“*.mp?” 面具)。 正如我们看到的最后一个选项(-I 或 -X)
克服了前一个。 -P、-g、-[ 和 -] 共同作用相同但
如上所示,它们不仅作用于文件名,而且作用于整体
路径+文件名。 注意 (-g, -P, -[, -]) 和 (-X , -I) 是独立的
关于它们的相对顺序。 你可以混合 -X -I -g -P -] -[ 在任何
顺序,重要的是 -X 选项的相对位置
与 -I 选项相比,以及 -g -[ -] 和 -P 的相对位置
他们之间的选择。

从逻辑上讲,如果是之前所有掩码生成的掩码
命令行,-I 生成新的以下掩码: 或者.
而 -X 生成新的以下掩码: 并不是. 这个
每次添加 -I 或 -X 选项时都是递归的。 事情与 -P、-g、
-[ 和 -] 选项。
本篇 结束 文件 选择 说明 让我们继续其他选项。

-u, --exclude-ea
不考虑匹配的扩展属性 (EA)
给定的面具。 默认情况下,不排除任何 EA,如果对 EA 的支持有
在编译时被激活。 此选项可多次使用
倍。

-U, --include-ea
只考虑与给定掩码匹配的 EA。 默认情况下,所有 EA
如果不存在 -u 或 -U 选项并且支持
EA 在编译时已被激活。 可以使用这个选项
多次。 另请参阅 -am 和 -ae 选项,它们也适用于
-U 和 -u 选项并阅读下面有关 EA 的说明。

备注 关于 扩展 Attributes (EA)

必须在编译时激活对 EA 的支持(配置脚本试图
如果您的系统具有所有必需的支持,请这样做)。 这样你就可以得到两个
dar(相同版本)的二进制文件,一个支持 EA,另一个不支持
(dar -V 查看是否激活了 EA 支持)。 他们制作的档案是
相同,可以相互读取。 唯一的区别是二进制文件没有
EA 支持无法保存或恢复 EA,但仍然能够测试它们并
列出他们的存在。

在下文中,当我们谈论扩展属性 (EA) 或 EA 入口时,我们
只会考虑特定的扩展属性键及其值。 经过
相反,与文件相关联的所有 EA 的集合将被指定为“EA 集”。

从 2.3.x 版开始,EA 条目的名称包括 dar 的命名空间
考虑任何类型的 EA(不仅仅是之前的“系统”和“用户”)。 于是两人
以前的选项 -u 和 -U 已更改,现在采用一个掩码参数
应用于以下列形式书写的 EA 条目名称 命名空间.name 哪里
“命名空间”例如是“用户”。 请注意,面具可能包括也可能不包括
点 (.) 并且可能匹配 EA 命名空间+名称的任意部分,只是提醒一下
掩码将应用于“namespace.name”全局字符串。

此处的 -am 标志也启用了有序方法,也用于 EA 选择。 这
有序与正常方法已在上面的文件选择说明中进行了解释,
一些使用 -X 和 -I 的示例。 这与 -U 和 -u 相同,(只是
将 -X 替换为 -u 并将 -I 替换为 -U,相应的掩码将应用于 Extended
属性选择代替文件选择)。

另一点,独立于 -am 选项的 -ae 选项可以用于
仅恢复时间。 如果设置,当文件即将被覆盖时,所有 EA 将
在恢复存档中选择用于恢复的那些之前首先被擦除
(根据给定的 -U 和 -u 选项)。 如果未设置,则现有文件的 EA
将被覆盖,那些不在存档中或未被选中的额外 EA
将保留有关 -u 和 -U 选项的恢复。 如果你有
在备份时未使用任何 -u/-U 选项,并希望从一组恢复
完全/差异备份 EA,您必须将 -ae 用于 dar
在覆盖存储在存档中的 EA 集之前删除 EA。 没有
-ae 选项 dar 将简单地将 EA 添加到现有的 EA,从而获得一组不同的 EA
对于一个给定文件而不是在备份时记录的文件。

最后一点 -acase 和 -an 选项改变了 -U 和 -u 的区分大小写
在命令行/包含文件中跟在它们后面的掩码,就像它们对 -I、-X、
-P、-g、-[ 和 -] 也是如此。 最后一点;-),如果在备份期间使用 -ac 选项
dar 在读取每个文件后设置 atime(参见 -aa/-ac 选项),这有
作为修改每个文件的 ctime 日期的副作用。 但是 ctime 更改被使用
dar 来检测 EA 的变化。 简而言之,下次备份文件时,必须
读取(因此内容发生了变化),即使他们没有,它的 EA 也会被保存
改变了。 为了避免这种副作用,如果没有必要,不要使用 -ac 选项。
本篇 结束 扩展 属性 选择 说明 让我们继续其他选项。

-4 --fsa-scope [, [, ...]
将文件系统特定属性 (FSA) 的范围缩小到
为手术考虑。 FSA 按家庭分组。 当前的
可用的家庭是:

extX 这个家族负责处理由 Linux 设置的 ext2/3/4 标志属性
聊天室(1) 和阅读 萨特(1). Dar 只考虑标志
可以由用户(或特权用户)设置或清除:
仅追加、压缩、no_dump(是的,dar 可以保存具有
nodump 标志设置并恢复,然后使用该标志
设置!),不可变,数据日志,安全删除,无尾-
合并,不可删除,noatime-update,同步目录,
同步更新,顶级目录层次结构。 注意“extx”
和“ext”是这个 FSA 系列的别名。 尽管它的名字,
这一系列属性不仅限于 ext2/3/4 文件系统。

HFS +
这个家族负责处理 Mac OS X HFS+ 文件的出生日期,在
添加常见的日期,如 atime(上次访问时间),
ctime(上次元数据更改)和 mtime(上次数据更改)。

none "none" 不是 FSA 系列,但可以单独使用以忽略所有
FSA 家庭。

默认情况下不做任何限制,所有家庭的 FSA 都是
在恢复时考虑,但如果一个家庭没有被激活
在编译时为每个不能有的文件发出警告
它的 FSA 完全恢复(除非这个家庭被排除在
范围感谢 -4 选项)。 在备份时,如果 FSA 系列有
编译时未激活,不发出警告,FSA
那个家庭的被忽略了。 还在备份的时候,你也可以忽略
通过将它们排除在编译时间支持之外的 FSA
由于此 -4 选项而操作。

使用示例:--fsa-scope extX,HFS+

-am, --alter=mask 设置掩码的有序模式。 这会影响 -I 和 -X 选项的方式
被解释,以及 -g、-P、-[ 和 -] 选项、-Z 和 -Y
选项和 -U 和 -u 选项。 它可以出现在命令的任何位置——
行并且只能放置一次。 见 文件 选择 in 简要
有关此选项的详细说明,请参阅上面的段落。 它还有
--backup-hook-exclude 和 --backup-hook-include 的发生率
选项​​。

-an, --alter=无大小写
在不区分大小写的模式下设置过滤器。 这仅涉及口罩
在此选项之后指定(另请参见下面的 -acase 选项)。 这个
更改 -I、-X、-g、-P、-Z、-Y、-u 和 -U 选项的行为。

警告:不区分大小写需要解释取决于语言环境的文件名
与哪个 dar 一起运行(由 LANG 环境变量定义)。 例如,如果你
创建 LANG 设置为 fr_FR.UTF-8 的文件,并在文件名中使用非纯 ASCII 字符,
有可能这些非 ASCII 字符将存储在几个字节中
文件名:所谓的“宽字符”。 如果然后你运行 dar 并将 LANG 设置为另一个值
像ru_RU.koi8r一样,这些宽字符很可能不对应
相同的字母或更糟,它们不匹配该语言环境的任何有效宽字符。
文件名始终是字节序列并始终按原样保存,但使用 --alter=no-
case 意味着以取决于给定语言环境的方式解释该序列(如
由 LANG 环境变量定义)。 因此,dar 无法知道给定的文件是否必须
用 fr_FR.UTF-8 语言环境或 it_IT.iso88591 或 ru_RU.koi8r 等读取,因为
此信息不存储在文件名中。 因此,如果使用不同的语言环境
在您的系统上并且您正在进行系统范围的备份,使用 --alter=no-case 选项可能
导致 dar 检测无效的宽字符,在这种情况下它会逐字节回退
区分大小写比较(ASCII 字符),这可能不是您所期望的
第一眼:大多数情况下,大写宽字符(存储在几个字节上)
不匹配等效的小写宽字符(也有几个字节),当 case
灵敏度比较是逐字节进行的。

-acase, --alter=大小写
将过滤器设置回区分大小写的模式。 以下所有口罩均为
区分大小写,直到解析结束或直到下一个 -an 选项。
这会改变 -I、-X、-g、-P、-Z、-Y、-u 和 -U 的行为
选项​​。

-ar, --alter=regex 设置过滤器被解释为正则表达式 (man 正则表达式(7)
) 而不是默认的 glob 表达式 (man 水珠(7) ) 这修改了
-I、-X、-g、-P、-Z、-Y、-u 和 -U 选项
最终的 -ag 选项(见下文)。 请注意,对于 -P 选项,
给定的掩码匹配文件路径的相对路径部分:让我们
举个例子,假设你提供了 在/ usr /本地 到 -R
选项,掩码 "^foo$" 将在内部替换为
"^/usr/local/foo$" 而掩码 "foo$" 将在内部被替换
通过“^/usr/本地/。*foo$”。

-ag, --alter=glob 此选项返回 glob 表达式模式(这是默认设置)
使用 -ar 选项后,这适用于任何 -I、-X、-g、-P、
-Z、-Y、-u 和 -U 选项跟随最终的新 -ar 选项
(见上文)。

-i, --input 从管道读取时可用(对于-x、-l、-t,基本名称为“-”,
-d 或 -A 当使用 -c、-C 或 -+ 时)。 从管道读取时,
使用标准输入,但使用此选项,文件(通常
使用命名管道)代替。 此选项用于接收来自
dar_slave 程序(有关使用示例,请参见 doc/usage_notes.html)。 笔记
当使用 --sequential-read 时,dar 使用单个管道并执行
不再依赖 dar_slave,-i 选项可用于告诉 dar 哪个
用于读取存档的命名管道,而不是标准输入。

-o, --输出从管道读取时可用(对于-x、-l、-t,基本名称为“-”,
-d 或 -A 当使用 -c、-C 或 -+ 时)。 从管道读取时,
标准输出用于向 dar_slave 发送请求,但是有了这个
选项,文件(通常是命名管道)代替。 什么时候
使用标准输出,所有消息都转到标准错误(不仅
互动消息)。 有关使用示例,请参阅 doc/usage_notes.html。
在 --sequential-read 模式下不使用此选项。

-O, --comparison-field[= ]
与参考存档 (-c -A) 进行比较时
差异备份,在提取 (-x) 或比较 (-d) 时执行
只考虑某些领域。 可用的标志是:

ignore-owner 除所有权外,所有字段都被考虑。 这是
当非特权用户使用 dar 时很有用。 它
不会认为文件已更改只是因为
uid 或 gid 不匹配,在恢复时 dar 不会
甚至尝试设置文件所有权。

mtime 只有 inode 类型和最后修改日期是
考虑以及 inode 特定属性,如
普通文件的文件大小。 所有权被忽略,
权限被忽略。 在比较过程中,差异
所有权或许可被忽略和恢复
time dar 不会尝试设置 inode 权限,并且
所有权。

inode-type 只考虑 inode 类型。 所有权,
权限和日期被忽略。 特定于 inode
仍然考虑属性(例如文件大小
普通文件)。 因此比较将忽略差异
所有权、许可、日期和恢复时
dar 不会尝试设置所有权、权限和
日期。

当没有为该选项提供标志时,-O 选项的作用就好像“ignore-owner”标志是
设置,这是旧版本(< 2.3.0)中的行为。 还要注意,对于向后
兼容性,--ignore-owner 选项仍然存在,因为版本 2.3.0 只是一个别名
到 --comparison-field=ignore-owner 选项。 当然如果不使用这个选项,所有
字段用于比较或恢复。

-H[数字],--小时[=数字]
如果使用 -H,如果两个日期与一个日期不同,则认为它们相等
整数小时,并且该数字小于或等于
[编号]。 如果未指定,则 num 默认为 1。这用于制作
差异备份,比较 inode 的 last_modification 日期,在
如果覆盖策略基于文件的恢复或合并时间
将存档与
文件系统(-d 选项)。 这是为了解决某些文件系统(例如
Samba 文件系统),它似乎在拥有后更改文件的日期
从或到夏令时(冬季/夏季时间)。 注意
-H 选项仅影响覆盖策略(请参阅 -/ 选项)
如果之前在命令行或包含的文件中找到它(使用 -B
选项)。

-E, --执行
字符串是一个 用户 命令行 在切片之间启动。 为了
读取档案(因此使用 -t、-d、-l 或 -x 命令),给定的
字符串在切片被读取或什至被询问之前执行,用于写入
一个存档代替(因此使用 -c、-C 或 -+ 命令),给定的
string 在切片完成后执行。 一些
可以在字符串中使用替换宏:

%% 将被 % 替换

%p 将被切片路径替换

%b 将被切片基名替换

%n 将被切片号替换(要读取或只是
书面)。 对于阅读,dar 通常需要最后一个切片,但是
最初它不知道它的编号。 如果找不到
在当前目录中,用户命令行是
用 %n 等于 0 调用。这是一种方便的方法
通知用户命令提供最后一个切片。 如果之后
执行字符串请求的切片仍然不是
目前,dar 询问用户(通常)并显示一条消息
终点站。 一旦找到最后一个切片,用户
命令行被第二次调用,%n 等于
最后一个切片编号的值。

%N 是带前导零的切片编号,定义为
--min-digits 选项。 如果未使用此选项,则 %N 为
相当于 %n。

%e 将被切片扩展名替换(总是被替换
由“达尔”)

%c 将被上下文替换。 其实三种可能
存在值:“init”、“operation”和“last_slice”。 什么时候
读取存档(测试、提取、差异、列表、
或在阅读参考档案时,请参阅下面的 -F
选项),“init”上下文从一开始就发生
直到检索目录为止。 在多个
切片存档这对应于最后一个切片请求。
之后,这一点是“操作”上下文。 尽管
创建存档,上下文始终是“操作”
除非创建了最后一个切片,在这种情况下
上下文设置为“last_slice”。
可以给出几个 -E 选项,然后将按照它们的顺序调用给定的命令
出现在命令行和 -B 包含的文件中。 提供给 -E 选项的此类文件是已知的
作为 DUC 文件(Dar 用户命令)。 另请参阅环境变量 DAR_DUC_PATH
本文档末尾的环境部分。

-F, --ref-执行
与 -E 相同,但应用于参考档案的切片之间 (-A
选项)。 --execute-ref 是同义词。

-~, --aux-execute
与 -E 和 -F 相同,但应用于辅助切片之间
存档(-@ 选项)。

-K, --key [[ ]:]

-K, --key gnupg:[ ]:email[,email[...]]
In 第一 句法, 使用
密码与作为密码短语。 加密档案只能
如果给出相同的密码短语(对称加密),则读取。
可用的密码有“blowfish”(别名“bf”)、“aes”、“twofish”、
“蛇”和“山茶花”用于强加密和“加扰”(别名
“scram”)用于非常弱的加密。 默认如果没有或没有 ':'
给定,假定河豚密码。 如果您的密码包含
列 ':' 您需要指定要使用的密码(或至少使用
初始 ':' 相当于 'bf:')。 如果是空的
密码短语将在执行时询问。 因此,最小的
-K 可以接收的参数是“:”,这意味着河豚密码
执行时询问的密码短语。

请注意,将密码短语作为参数提供给 -K(或 -J 或 '-$' 参见
下面)可以让其他用户学习密码短语(感谢ps,或者top
程序示例)。 因此明智的做法是要么使用空通行证
这将使 dar 在需要时询问密码短语,或使用 -K(或 -J
选项)来自 Dar 命令文件(请参阅 -B 选项),假设它具有
适当的权限,以避免其他用户阅读它。 对于那些
真正关心密码安全的偏执狂,
从 DCF 读取密码并不是那么安全,因为虽然
文件被解析,dar 使用“不安全”的内存(内存比
可以在内存负载较重的情况下交换到磁盘)。 它只是
当密码短语被识别为锁定内存(又名安全
内存)用于存储解析的密码。 所以,最安全
将密码短语传送到 dar,然后传送到 libdar,然后传送到
libgcrypt,在执行时让 dar 询问密码,然后 dar
从一开始就使用安全(锁定)内存。

自存档格式 9(由 2.5.0 版和
以下)在阅读时,不需要提供
使用的加密算法,只需要密码,dar 将
找出存档中使用了哪种加密算法
创建时间。 你可以省略 -K 在这种情况下 dar 会要求
执行时的密码,或者您可以使用 -K 在 DCF
文件如上所述(避免在命令行上直接使用 -K)。

第二 句法 以单词“gnupg”开头,后跟一列
':' 。 在那种情况下,相同的集合或对称加密
上述算法在列之后可用,但
密码不是由用户提供的,而是由 libdar 随机选择的,并且
使用电子邮件所在的目标用户的公钥加密
以逗号分隔的列表给出。 这个随机密钥(另见 --key-
下面的长度),一旦加密被放置在开头和
生成的存档结束。 在阅读时只有列出的用户
由于他们各自的私人,将能够阅读该档案
钥匙。 此功能意味着每个用户(档案创建者以及
作为目标用户)正确设置了他们的 GnuPG 密钥环。 在
特别是,档案创建者必须已经验证了
目标用户,目标用户必须拥有相应的
他们钥匙圈中的私钥。 示例:使用“--key
格努格::[电子邮件保护],[电子邮件保护]" 会生成一条河豚
由 libdar 随机选择的密码的加密档案将是
用公钥加密 [电子邮件保护]
[电子邮件保护]. 使用 AES 代替河豚可以使用
"--key gnupg:aes:[电子邮件保护],[电子邮件保护]”。注意没有
检查已完成您在 GPG 密钥环中设置的信任
特定的公钥由您期望的物理人拥有。 看
还有下面的 --sign 选项。

请注意,如果您在私钥上设置了密码,则 dar 将
动态询问它,这需要从终端运行 dar。 不
已提供其他方式将私钥的密码短语传输到
利达。 因此,如果您想在脚本中使用 dar/libdar 并且
使用公钥算法你应该避免设置密码
到您要使用的私钥。 另请参阅 GNUPGHOME
本文档末尾的环境部分。

明显 但是 重要! 要读取 gnupg 加密存档,您需要
您的私钥(不仅是激活它的密码,如果设置)。
因此,如果您打算备份系统并加密备份
使用 gnupg,你应该有一个可用的私钥副本
存档(USB 密钥、软盘、CD/DVD 等)以便能够
恢复您的备份!

-J, --ref-key [[ ]:]
与 -K 选项的第一个语法具有相同的含义/用途,但给定的键是
用于解密参考档案(使用 -A 选项给出)。
--key-ref 是同义词。 请注意,对于使用 dar 生成的档案
2.5.0 及以上版本不再需要此选项,除非您
想在命令行(不推荐)或在
DCF 文件(该文件将被设置为限制访问权限
和/或 ACL)。

-$, --aux-key [[ ]:]
与 -J 相同,但用于参考的辅助存档(使用 -@
选项)。 在这里,此选项也不再需要读取档案
由 dar 2.5.0 及更高版本生成。

-#, --crypto-block
为了能够随机访问存档中的数据,它没有被加密
全局但逐块。 您可以定义加密块大小
感谢这个默认为 10240 字节的参数。 请注意,
用于 -s 选项的语法在这里也可用(k、M、G 等)。 笔记
加密块也存储为 32 位整数,因此值
大于 4GB 会导致错误。 最后注意,块大小
阅读此结果存档时,必须提供此处给出的内容,使用
-* 选项,如果存档是参考存档(给 -A
option) 使用 -% 选项,如果存档是
参考(提供给 -@ 选项)或使用此 -# 选项(如果它是
操作的主题(列出、比较、测试该档案)。
如果该值不是默认值并且给定的值在
关于存档创建时给定的值,存档将
无法解密,因此保留默认值更安全
(并且根本不使用 -#、-*、-% 选项)。

-*, --ref-crypto-block
与 --crypto-block 相同,但读取参考档案(-A
选项)。 --crypto-block-ref 是同义词。

-%, --aux-crypto-block
与 --crypto-block 相同,但读取参考的辅助存档
(-@ 选项)。

-e, --dry-run 不执行任何操作(备份、恢复或合并),显示
所有消息就好像它是真实的一样(“试运行”操作)。 --空的
选项是同义词。

-aSI,--alter=SI[-unit[s]]
当使用 k 个 MGTEZY 前缀来定义大小时,使用 SI
含义:10^3 的倍数(Mega 是 1,000,000)。

-二进制,--alter=binary[-unit[s]]
当使用 k 个 MGTEZY 前缀定义大小时,使用历史
计算机科学的含义:2^10 的倍数(一个 Mega 是 1,048,576)。

--alter=SI 和 --alter=binary 选项可以在命令行上多次使用。
它们影响后面的所有前缀,即使是在 -B 包含的文件中找到的前缀
选项,直到下一个 --alter=binary 或 --alter=SI 出现。 请注意,如果在文件中
包含在 -B 选项中,遇到 --alter=binary 或 --alter=SI,它会影响所有
以下前缀,即使是包含文件之外的前缀。 例如,当运行
使用参数“-B some.dcf -s 1K”,1K 可能等于 1000 或 1024,具体取决于
--alter=binary 或 --alter=SI 存在于 some.dcf 文件中。 默认情况下(在任何
--alter=SI/binary 选项到达),前缀的二进制解释完成,对于
与旧版本的兼容性。

-ac, --alter=ctime 读取文件系统时(在备份或比较期间),恢复
所有文件的时间到读取文件之前的时间。 这个
使它看起来好像根本没有被阅读过。 然而,因为
没有系统调用让应用程序更改 ctime(最后
inode change) 文件,设置回 atime 结果在 ctime
被改变(因此alter=ctime)。 一些最近的 Unix 系统允许
一个应用程序来获取文件系统的“秘密读取模式”(参见
以下)。 但是,在较旧的系统上,对于大多数用户而言,具有 atime
更改的文件应该不是问题,因为它们可以更改
任何其他程序(由任何用户运行!)以及(如内容-
索引程序 Beagle)。 另一方面,Ctimes 是唯一的方法
用于检测系统上的文件是否已被替换的安全软件
(主要是所谓的root-kits)。 这意味着,你应该运行 dar
带-ac,使用ctime检查的安全软件,会标记
备份后系统上的每个文件都受到了损害。 简而言之,
这意味着此选项只能由知道什么的人使用
他们在。 笔者认为,任何软件
容易受到 atime 变化的影响是脆弱的甚至是破碎的(因为
前面提到的 atime 可以改变的原因)。 但是,这不需要
除去依赖时间的程序保持不变,
像 Leafnode NNTP 缓存软件。 因此存在此选项。

-aa, --alter=atime 当指定 -aa(与 -ac 相对)时,每次读取的时间
文件和目录被更新,ctime 保持不变。 在
换句话说,Dar 本身对 atimes 和 ctimes 没有任何作用,它只是
让系统完成其工作以在访问文件时更新时间
读。 这与 atimes 和 ctimes 的含义一致
来代表。 这是 Dar 的默认值(自 2.4.0 版起),除非
您的系统和 dar 支持“秘密阅读模式”(见下文)
已在激活此支持的情况下编译。

鬼鬼祟祟 模式 是一种在 dar 读取时既不修改 atime 也不修改 ctime 的模式
每个文件和目录。 这也提供了更好的性能,因为无需编写任何内容
回到磁盘。 支持此功能的已知 Unix 内核是 Linux 2.6.8 及更高版本
(系统的标准 C 库中还必须存在支持,以便 dar 能够
在编译时激活此功能)。 当这个功能被激活时,它变成
超级用户 dar 的默认行为; 对于其他用户,默认值为 -aa。 如果
然而,作为 root 用户,你不想使用“偷偷摸摸的阅读模式”(虽然它已经
在编译时激活),您可以指定 -aa 或 -ac 选项。

-at, --alter=磁带标记
对于档案创建和合并,默认行为(自发布以来
2.4.0) 是添加转义序列(又名磁带标记)后跟 inode
档案中的所有信息。 如果给出 -at,则 dar 不会添加
将此信息归档,导致略小
存档和更快的备份。 读取存档时,默认
行为是忽略这些转义序列,而是依赖于
目录位于档案的末尾。 如果改为 --sequential-
read 在命令行上给出(见下文),dar 将避免使用
存档末尾的目录,将依赖这些转义
序列来知道档案的内容,这将导致
归档的顺序读取,适用于磁带介质的操作。
请注意,不建议禁用转义序列(又名磁带
标记)使用 -at 选项,除非您更关心
备份的最终大小和执行速度(特别是如果
你有很多小文件)而不是恢复你的
数据损坏或部分写入的存档。 没有
转义序列,dar 不能顺序读取存档,这是
除了使用独立目录来使用具有
目录损坏或根本没有目录,发生的事情
如果在存档创建过程中发生系统崩溃或由于缺少
的磁盘空间来完成存档。

-0,--顺序读取
读取存档时更改 dar 的行为。 默认情况下,
使用传统方式,它依赖于目录(又名
“目录”)位于档案的末尾。 随着
--sequential-read 选项,dar 将依赖转义序列
与每个文件的 inode 一起插入到存档中
信息。 这将导致对存档的顺序读取,
适用于磁带介质的操作。 然而,这个功能只是
可用于存档格式起始版本“08”(即:因为
版本 2.4.0) 并且如果在存档期间未使用 -at 选项
创建或合并。 此选项可用于存档测试
(-t)、比较 (-d)、还原 (-x)、列表 (-l) 和读取
用于隔离 (-C) 和存档的参考存档(-A 选项)
创建 (-c)。 归档的顺序读取总是很多
比通常的阅读方法慢,所以你不应该使用这个
除非你真的需要它。

-9, --min-digits [, [, ]]
默认情况下,文件名中包含的切片编号没有任何填充
零,当按字母顺序对目录内容进行排序时
读取从“1”开始的所有切片,然后是“2”。 例如,切片
1, 10, 11, 12, 13, ... 2, 20, 21, 23, ... 等等。虽然 dar 是绝对的
不被这个显示问题困扰,一些用户应该喜欢
按顺序排序的切片。 出于这个原因, --min-digits 选项
让您要求 dar 在切片编号中添加足够的零
与传递给 --min-digits 的参数一样宽。 例如,如果你
为该数字提供 3,dar 会将切片编号存储为 001,
002, 003, ... 999. 那么,下一个切片将是 1000,因此它会中断
再次按字母顺序排列。 因此建议您使用
足够大的数字以转换您希望使用的切片数量。
然后,在阅读您的档案时,您还需要提供此信息
相同的论点,否则 dar 将无法找到切片。 实际上,当
例如,寻找切片 1,dar 应该尝试打开文件
“basename.1.dar”,但如果失败,它应该尝试打开文件
“basename.01.dar”,然后是“basename.001.dar”,……直到无穷大。 如果
只是缺少切片,dar 永远不会要求您提供它,因为
仍在寻找带有附加前导零的切片名称。 这
进行差异备份、合并或动态时也会出现问题
隔离,dar 必须知道每个零的数量
这些存档。 这就是为什么 --min-digits 选项可能会收到最多
三个整数值,第一个用于创建或读取存档,
第二个用于参考存档(-A 选项),第三个用于
参考的辅助存档(-@ 选项)。 默认情况下,没有零
添加,它也很好地以这种方式工作。 但你可能会设置
例如在您的 ($HOME)/.darrc 文件中使用“--min-digits 5,5,5”来执行此操作
一劳永逸。

--pipe-fd 将从文件描述符中读取更多参数. 这
通过此文件描述符读取的参数必须遵循 TLV
(类型/长度/值)列表格式。 此选项不适用于人类
使用,但对于其他启动 dar 的程序,如 dar_manager。 这个
已添加功能以克服命令行长度限制。

-al, --alter=lax 读取存档时,dar 将尝试解决
切片标题、存档标题和目录。 将使用此选项
作为面对媒体腐败时的最后手段。 而是和
仍然强烈鼓励在依赖档案之前对其进行测试
以及使用 Parchive 做每个切片的奇偶校验数据才能
以更有效的方式恢复数据损坏
更多的成功机会。 Dar 也有可能备份一个
使用独立目录的目录,但这并不面向切片
标头损坏甚至保存文件的数据损坏(dar 将
检测但不会纠正此类事件)。

--single-thread, -G 当 libdar 针对 libthreadar 编译时,它可以利用
几个线程。 线程数不可设置,但取决于
激活的功能数量(压缩、加密、磁带标记、
稀疏文件等)需要 CPU 密集型操作。 负载——
使用的每个线程的平衡类型称为“管道”。 作为表现
增益很小(并非所有算法都适用于并行计算)
此功能被标记为实验性:它还没有被测试为
与其他新功能一样密集使用,不鼓励使用。 如果
你想要更好的性能,每个使用几个 dar 进程
不同的目录树。 你会得到多个档案而不是一个
哪些孤立的目录可以合并在一起(不需要合并
备份,只是孤立的目录)并用作下一个的基础
差异备份。 注意:如果你想静默最初的警告
关于此功能是实验性的,在 -G 之前使用 -Q 选项
选项。

保存, 隔离 AND 合并 具体 配置 (至 使用 -C, -C or -+)

-z[[算法:]级别], --压缩[=[算法][:][级别]]
使用 gzip、bzip2、lzo 或 xz 算法在切片内添加压缩
(如果未指定 -z,则不执行压缩)。 压缩
level(从 1 到 9 的整数)是可选的,默认为 9。 是
使用 xz 算法时要小心,最好指定压缩比
小于或等于 6 以避免重要的内存需求。 一种
比率为 1 意味着更少的压缩和更快的处理,而在
相反,比率为 9 可提供最佳压缩但最长处理时间
时间。 “Algo”是可选的,它指定压缩算法
使用并且可以采用以下值“gzip”、“bzip2”、“lzo”或“xz”。
默认情况下使用“gzip”算法(由于历史原因,请参阅--gzip
以下)。 如果同时给出算法和压缩,则必须是“:”
放在他们之间。 -z 选项的有效用法是例如:-z、-z9、
-zlzo, -zgzip, -zbzip2, -zlzo:6, -zbzip2:2, -zgzip:1, -zxz:6 等等
在。 long 选项的用法相同:--compression、--compression=9、
--压缩=lzo, --压缩=gzip, --压缩=bzip2,
--压缩=lzo:6, --压缩=bzip2:2, --压缩=gzip:1
--compression=xz:9 等等。

--gzip[=level] 与 -z 相同(见上文)。 此选项已弃用,请使用
--压缩或-z。

-s, --slice
切片的大小(以字节为单位)。 如果数字附加了k(或K),M,
G、T、PE、Z 或 Y 的大小以千字节、兆字节、千兆字节为单位,
分别为 TB、PB、EB、Zettabytes 或 yottabytes。
示例:“20M”表示20兆,默认与
给出 20971520 作为参数(另见 -aSI 和 -abinary 选项)。 如果
-s 不存在备份将写入单个片
无论备份的大小是多少(假设您的操作系统
可以支持任意大文件)。

-S, --first-slice
-S 给出可以独立选择的第一个切片的大小
以下切片的大小(更大或更小)。 这个
选项需要 -s 选项,默认情况下 -S 选项是
第一个切片与以下切片之一相同。

-p [ ], --暂停[= ]
在写入新切片之前暂停(这需要 -s)。 默认情况下
没有停顿,所有的slice都写在同一个目录下,最多
备份结束或直到文件系统已满。 在这以后
在这种情况下,用户会被告知磁盘空间不足并且 dar 停止
用户操作。 只要有可用的磁盘空间,用户就可以
继续备份。 此选项可以接收的可选整数
告诉 dar 只暂停非常“n”的切片。 给 'n' 3 将使 dar
仅在切片 3、6、9 等之后暂停。 如果这个整数不是
指定,行为就好像给出了“1”作为参数,这使得
每片后停顿一下。

-D, --empty-dir 在备份时,当明确使用 -P 排除目录时
或 -] 选项,或通过提供 -g 或 -[ 选项(目录
如果它与 -g 选项或 -[ 给出的掩码不匹配,则被排除在外
选项) 不存储有关这些的任何内容。 但是使用 -D 选项,
dar 将它们存储为空目录。 这可能很有用,如果排除
一个挂载点(比如 / proc中 or /开发/分)。 在恢复时,dar 将
然后重新创建这些目录(如有必要)。 这个选项没有
用 -C 表示,在这种情况下被忽略。 与此无关,-D
也可以在恢复时使用,但它会稍微激活
不同的功能(请参阅下面的恢复选项)。

-Z, --exclude-compression
此掩码覆盖的文件名不会被压缩。 它只是有用
与 -z 选项结合使用。 默认情况下,所有文件都被压缩(如果
使用压缩)。 这个选项可以多次使用,因为
如果与 -Z 掩码之一匹配的文件将不会被压缩。
给 -Z 的参数不能包含任何路径,只包含文件名
(最终/可能使用通配符)。

-Y, --include-compression
此掩码覆盖的文件名(而不是提供给 -Z 的掩码
option(s)) 是唯一要压缩的。 它仅适用于 -z
选项。 默认情况下,所有文件都被压缩。 可以使用这个选项
多次,在这种情况下,与 -Y 之一匹配的所有文件都将是
压缩,如果它们也与 -Z 掩码不匹配。 订购的
这里的方法在激活时也适用(使用 -am 选项),它有效
与 -I 和 -X 选项完全相同,但适用于文件压缩,
不是文件选择。 换句话说,它只匹配文件名,
不在文件路径上。

-m, --mincompr
大小低于此值的文件将不会被压缩。 如果 -m 是
未指定它相当于给 -m 100 作为论据。 如果你
想要压缩所有文件,无论它们的大小如何,您都需要输入
-m 0 在命令行上。 大小单位是字节(八位字节)和
此处提供与 -s 或 -S 一起使用的相同号码扩展名,
如果你想以千字节、兆字节、千兆字节等为单位指定大小。

-1, --sparse-file-min-size
定义零字节的最小长度以替换为“孔”。 经过
默认情况下,此功能以 15 个字节的值激活。 到
完全禁用它,将大小设置为零。 禁用此功能
会带来一些明显的速度提升,但可能会使
存档稍大(取决于数据的性质)。
稀疏文件是包含所谓的孔的文件。 在文件系统上,
归零字节的部分未存储在磁盘上,因此任意
具有大量零的大文件可能只需要几个字节
磁盘存储。 虽然 dar 无法检测给定文件的分配方式
因为它进行了文件系统抽象(它不知道
任何特定文件系统的实现,从它的
可移植性),但是当它发现一个更大的零字节序列时
比给定的阈值,它可以假设它存在
洞。 这样做,它不会将给定的归零字节存储到
存档,但在保存的数据旁边放置一个标签来记录大小
洞,从而在哪里放置下一个无零字节。 这使得
稀疏文件时,dar 归档磁盘空间要求小得多
遇见了。 恢复时dar会恢复写正常数据的空洞
并在每个漏洞之后寻找记录正常数据
洞。 如果底层文件系统支持稀疏文件,这将
恢复孔。 请注意,应用程序没有区别
文件是否稀疏,因此 dar 很可能转换为正常
文件转换为稀疏文件,反之亦然,只有磁盘要求才会
改变。 最后一点,如果 dar 可以减少存档的磁盘需求
孔小至 15 个字节(较小的值有效,但开销
成本高于正常存储归零字节所需的成本),
恢复时可能不一样,因为文件系统分配
单位通常是几千字节,但是恢复的文件永远不会
比没有孔的时候要大。 这个唯一的缺点
特点是它需要额外的 CPU 周期。

-ak, --alter=保持压缩
在合并操作期间,保持文件压缩,这有几个
限制:-z、-Z、-Y、-m 被忽略,如果两个档案必须
合并,两者必须使用相同的压缩算法或其中之一
根本不能使用压缩(这最后一个限制可能会
在下一个版本中消失)。 此选项的优点是
更高的执行速度(压缩通常是 CPU 密集型的)。

-ah, --alter=孔重新检查
对于合并,稀疏文件检测机制被禁用
默认。 但是,如果您想激活它(假设您有一个旧的
您要转换当前存档格式的存档
稀疏文件),您需要使用 -ah 选项重新激活稀疏文件
文件检测机制。 然后合并 --sparse-file-min-size 可以
如上所述用于存档创建。 特别是设定
--sparse-file-min-size 在合并期间在 -ah 旁边为零,也可能是
用于将保存为稀疏文件的文件转换为普通的普通文件。

--nodump 不保存设置了 'd' 标志的文件(参见 聊天室(1) 萨特(1)
ext2 命令)。 如果系统 dar 有此选项,则此选项可能不可用
被编译不提供对 ext2 标志的支持。 注意
此选项与 -+ 选项(合并)无关,因为没有文件系统
用于该操作。

-5, --exclude-by-ea[= ]
从备份中排除已使用 EA 中给出的 EA 设置的 inode
争论。 如果没有为该选项提供参数,则使用默认 EA
从备份中排除文件是“user.libdar_no_backup”。 要设置这个
给定文件的属性,使用以下命令:“setfattr -n
user.libdar_no_backup ", 删除它:"setfattr -x
user.libdar_no_backup ”。最后,检查存在这个
EA:“getfattr ”

-M, --无挂载点
留在与根目录相同的文件系统中(请参阅 -R 选项),
作为其他文件系统挂载点的子目录不会
被保存(如果使用 -D 选项,则保存为空)。 这个选项没用
并在合并操作中被忽略。

-, , --缓存目录标记
不要保存使用缓存目录的目录的内容
标记标准。 看 http://www.brynosaurus.com/cachedir/spec.html
详情。 (此选项与 -+ 选项无用)

-/ , --overwriting-policy
此选项让用户定义文件覆盖的时间或方式
在恢复或归档合并时。 它不适用于切片
覆盖由 -n 选项驱动的,它确实适用
合并两个文件时在提取期间归档和归档中的文件
其中。 在考虑覆盖时,文件被称为“就位”
而另一个被称为“新的”或“要添加的”。 恢复时
时间,“就地”是文件系统中存在的那个,而
“待添加”是存档中的那个。 在合并时,
“就地”是“-A”参考档案之一,而“到”
be added' 是来自辅助 '-@' 存档或参考的那个。

只要您使用 -/ 选项 -n 仅适用于切片覆盖
并且 -r、-k 和 -ae 选项被忽略(恢复选项)。

给定的论证由动作组成,最终由动作组成
条件表达式。 操作确实定义了如何解决覆盖问题
关于一侧文件数据和文件属性的冲突(扩展
和文件系统特定)在另一边。 一个动作因此是一对
数据和 EA+FSA 的行动。 数据的操作表示为
大写字母,而 EA+FSA 的操作由小写字母定义
字母。 这两个动作是相互独立的:

P 的意思是“保留”。 合并两个存档时,
生成的存档将从“就地”文件中获取。 尽管
解压时,文件系统中inode的数据为
保留(因此不会覆盖数据)。

O 的意思是“覆盖”。 合并两个存档时,
生成的存档将从“待添加”文件中获取。
而在提取时,文件系统中的inode的数据会
被存档中的数据覆盖。

S 的意思是“标记已保存并保留”。 合并两个存档时,
结果存档的数据将被标记为已保存在
参考档案(因此成为差异档案,
即使原始档案都不是差异档案)。
所有数据都将被删除到生成的存档中,但最后一个
修改日期 [aka mtime](用于检测文件的更改
数据)将从“就地”文件中获取。 这个动作做
在提取文件时不适用,因此被认为等于
在那种情况下“保留”(P)。

T 表示“标记已保存并覆盖”。 合并两个存档时,
结果存档的数据将被标记为已保存
(与'S'动作相同):所有数据都将被丢弃在结果中
存档,但是最后修改日期 [aka mtime](用于
检测文件数据中的更改)将从“待
添加'文件。 此操作在提取文件时不适用,它
因此在这种情况下被认为等于“覆盖”(O)。

R 的意思是“删除”。 合并两个存档时,生成的存档
将不包含与文件中的任何条目相对应的条目
冲突。 这也意味着不会为此存储任何 EA
特定条目,因为该条目将不再存在于结果中
存档(好像它从未存在过)。 提取文件时,
这将导致文件的抑制。

p 表示“保留”,与“P”相同(但小写字母)保留
整个 EA 集和 FSA。 合并两个档案时,属性
生成的文件集将是“就地”文件中的文件
(无论对其数据采取的覆盖操作是什么)。 尽管
将文件提取到文件系统时,文件的属性
在文件系统中不会被改变(无论是什么覆盖
对其数据采取的操作,除非使用
'R' 策略,这将删除 inode,因此也将删除任何
它具有的属性)。

o 表示“覆盖”,与“O”相同(但小写字母)覆盖
整个 EA 集和 FSA。 合并两个存档时,
结果文件的属性集将从'到
添加'文件。 而在提取文件时,属性设置
文件系统中的文件的属性将被删除,并且
替换为存档中的文件(仍然独立
对文件数据采取的覆盖操作)。

s 表示“标记保存并保留”,与“S”相同(但小写
字母)用于 EA 和 FSA 而不是数据。 当合并两个
存档,结果文件的 EA 和 FSA 被标记为
已经保存在参考档案中,因此它们被删除
但是上次 inode 更改的日期 [aka ctime](用于检测
文件的 EA 和 FSA 中的更改)将从“就地”中获取
文件。 此操作在提取文件时不适用,它是
因此在这种情况下被认为等同于“保留”(p)。

t 表示“标记保存并覆盖”,与“T”相同(但小写
字母)用于 EA 和 FSA 而不是数据。 当合并两个
存档,结果文件的 EA 和 FSA 被标记为
已经保存在参考档案中,因此它们被删除
但是上次 inode 更改的日期 [aka ctime](用于跟踪
EA 中的更改)将从“待添加”文件中获取。 这个
提取文件时不适用操作,因此
在那种情况下被认为相当于“覆盖”(o)。

m 表示“合并属性并保留”。 结果文件在
合并的存档将具有来自“in”的属性条目
place' 和 'to be added' 文件。 如果两个文件共享相同的
属性条目(相同的 FSA 或对于 EA 给定的相同密钥
关联)保留“就地”文件之一(从哪里来)
“保留”概念)。 提取文件时,文件中的
文件系统的 EA 和 FSA 集将通过以下内容丰富
档案中不存在于文件系统上的文件,但它的
已经存在的属性将保持不变。

n 表示“合并属性并覆盖”。 结果文件在
合并的存档将具有来自“in”的属性条目
place' 和 'to be added' 文件。 如果两个文件共享相同的
属性条目(相同的 FSA 或对于 EA 给定的相同密钥
关联)将保留“待添加”文件之一
(来自“覆盖”概念)。 解压文件时,
文件系统中的文件将具有丰富的属性集
档案中的一些文件,其中一些可能是
覆盖。

r 表示“删除”,与“R”相同,但对于属性集(因此所有
给定文件的 EA 和 FSA 条目('r' 是小写字母
这里)。 合并操作期间生成的存档文件
不会拥有任何 EA 或任何 FSA,即使“就地”和/或
“待添加”文件确实有一些。 对于文件提取,这
意味着文件系统中的文件将丢失其所有 EA 集。
FSA 不能从文件系统中“删除”,并且可能并不总是
有一个默认值,因此此操作根本不会修改 FSA
在档案提取的情况下。 但在合并 FSA 的情况下
如前所述删除。 至于之前的所有测试,
此属性操作与选择的操作无关
用于文件数据(大写字母)。

d 的意思是“删除”。 当在两者中发现相同的 EA 或 FSA 条目时
'in place' 和 'to be added' 文件,这样的条目将不存在
结果存档。 换句话说,在合并时,EA 设置
并且 FSA 将只包含特定于“in”的 EA 和 FSA 条目
位置”和特定于“要添加”文件的那些。 条目在
common 不会出现。 从文件中提取文件时
存档,文件系统上的文件将通过以下方式丰富其 EA 集
“待添加”文件的条目是“就地”的新条目
文件。 其他 EA 条目(因此出现在两个
存档和文件系统)将从集合中删除,
其他 FSA 将保持不变(FSA 不能从一个
文件系统,它们也不总是有默认值)。

* 对 EA 和数据均有效。 它告诉我们这个动作不是
尚未在评估的这一步定义,并进一步
需要评估(请参阅下面的“链”运算符)。

A 的意思是“询问用户决定”。 这个大写字母涉及
数据覆盖。 一个应用程序交互让用户定义
每个冲突文件的操作。 注意,这个动作如果
单独使用可能会变得非常无聊或痛苦。 这个想法是使用
它在条件语句(如下所述)中具有
dar 只要求不明显的情况。

a 意思是“询问用户决定”。 这个小写字母是
相当于“A”行动的 EA 和 FSA。 它旨在成为
在下面描述的相同条件语句中使用。

一个动作因此是几个字母,第一个是大写的(对于
文件的数据)第二个是小写的(对于文件的 EA 和 FSA)。 什么时候
-/ 选项没有给出,动作相当于'-/ Oo',使得
dar 继续归档,EA 和 FSA 覆盖。 这是为了保持亲密
尽可能使用前一个默认操作,其中 -n 和 -w 都没有
指定的。 请注意 -w 选项保持不变,在结果中,在
-/ 选项的默认条件,将要求确认
dar 之前的用户进行任何覆盖。 前一个 -n 选项
(仍然用于处理切片覆盖)可以替换为它的
用于解决文件覆盖冲突的等效“-/ Pp”(从不
覆盖)。 下面是一些动作的例子,所有这些都完成了
对于在归档合并或归档期间发现冲突的任何条目
提取,我们将进一步了解如何定义条件动作。

-/ rr
将导致 dar 从文件系统中删除任何应该是
恢复(!)。 请注意 EA/FSA 的操作是无用的,EA 和
FSA 将始终被擦除以及使用“R”的数据。 因此'-/ Rp'
会导致同样的结果。

-/ 宝
将保留“就地”文件和 EA 和 FSA 集的数据
“待添加”文件。

-/SS
在将存档与其自身合并时使用此选项(同时使用
作为参考档案(-A 选项)和辅助档案
参考(-@ 选项))将提供与
引用存档的存档隔离,但使用两次
更多内存(所以继续像以前一样使用隔离操作!
这只是可能性的说明)

就像以前一样 -u 和 -U 选项可用于过滤哪个 EA
要考虑的条目和要忽略的条目。 这里的问题是解释
这种过滤机制如何与我们不同的策略相互作用
上面刚刚介绍。 对于不冲突的文件(仅找到
作为“就地”或“将被添加”),只有匹配的 EA 条目
EA 过滤器被保留。 对于冲突的文件,覆盖策略是
首先评估,然后应用过滤机制*之后*它。
因此,例如,使用以下 [ -/ "Po" -u "*test" ],当
合并两个存档,只有以“test”结尾的 EA 会被保留,并且
当发生冲突时,这个“*test”结束 EA 将从
“待添加”文件,如果它有某种类型的 EA,它的另一个 EA
条目以及“就地”文件的任何 EA 条目将被忽略
甚至那些以“test”结尾的。 在恢复时使用相同的选项,
没有冲突的文件将被恢复,但只有 EA 条目以
“测试”将被恢复,对于有冲突的文件(已经存在
在文件系统中),文件系统中的 EA 文件集将被删除,并且
替换存档中以“test”结尾的文件的 EA 条目,如果
有些存在。

这种情况与 FSA 系列范围和覆盖政策类似。
只有存在于范围内的家庭的 FSA 将被保留,
首先覆盖策略行为,然后应用 FSA 范围。 笔记
然而,任何存在于文件系统上并被排除在 FSA 之外的 FSA
范围未触及。

好吧,现在让我们看看如何使用条件带来更多乐趣
所有这些行动中的陈述。 要使用的结构是
在以下:

{ }[ ]
这个语法让你放置一个动作(就像我们刚刚看到的那样
以上)在方括号“[”和“]”内(例如 [Pp])
只有在评估的情况下才会生效是
真的。 声明这样的声明是一种新型的行动,你
可能已经猜到你可能会递归使用它:
{ }[{ }[ ])。

好吧,到目前为止它似乎没有用。 但不是“如果然后
别的" 编程语言通用的范式,由于
到命令行上下文,它已被选择改为使用和
动作之间的隐式“OR”运算符。 因此你可以“堆叠”
这样的条件语句:{ }[ ]
{ }[ ] . 在这个例子中,如果
那么是真的将被使用,否则如果那么是真的
将用于其他将会被使用。 这导致
与编程语言可用的可能性相同,
但语法稍微简单一些。 看到这个,递归
条件语法更有趣。 为了可读性,你是
允许在覆盖策略中添加任何空格或制表符,但
产生的覆盖策略必须作为单个参数给出
dar,因此使用引号(简单的“arg”或双“arg”)是
必要。

我们将看到的最后一个运算符是“链”运算符。 一次
表达式被评估,由此产生的一对动作可能包含一个
'*'(EA 或数据的未定义操作)。 必须进一步评估
完毕。 由半列';'表示的链运算符让
一个分隔将被评估的几个独立表达式
反过来,直到完全定义这对动作的时间。 一次
动作(对于 EA 或数据)被定义,它可以被重新定义
链中的后续评估,但是如果定义了操作
它不能被设置回 undefined,因此 '*' 永远不会覆盖一个
先前定义的动作。 如果在政策结束时
动作未完全定义,使用“保留”动作(“P”或“p”
取决于 EA 或数据中的哪个未定义)。 这里遵循一个
语法示例:

-/ "{ }[P*] O* ; { [*p] *o} ; rr"
第一个表达式将计算为 P* 或 O*。 在这
step,由于动作没有完全定义,第二部分
链被评估,它将以 *p 或 *o 结尾。 在任何
在这种情况下,在链的第二个语句之后,我们有一个完整的
为数据和 EA 定义的操作(Pp、Po、Op 或 Oo)。
因此评估到此停止,“Rr”策略将永远不会
评估。

我们现在要看到的最后一件事是:可用条件(要做什么?
放在大括号“{”和“}”之间)。 每个条件由一个定义
字母,最后是括号之间的参数。 这
可以使用常用的逻辑运算符:否定 (!)、连词 (&)
析取 (|)。 这些字符必须被转义或引用才能不被
在命令行上使用时由 shell 解释。 特别是
'! 在大多数 shell 下必须被引用和转义 (-/ '{\!R}[..]..',
DCF 文件中不需要转义字符“\”(那些提供给
-B 选项),因为没有使用 shell 来解释这些文件。 对这些
常用运算符已添加一个新运算符:“反转”运算符,
注明“~”。 与否定一样,它是一个一元运算符,但与
否定,它颠倒了“就地”和“被添加”的角色
评估,与取否定略有不同
的评估结果。 所有这些操作员都遵循通常的
优先级:首先计算一元运算符('!' 和 '~'),然后
连词'&'然后是析取'|'。 要覆盖它,您
可以在条件内使用括号“(”和“)”。 过这些
逻辑运算符,条件基于原子运算符
将“就地”文件与“待添加”文件进行比较。 他们在这里
跟随:

只有当“就地”条目是一个 inode(一个“detruit”,
记录自存档以来文件已被删除的事实
例如,引用不是索引节点)。 这个条件不
对要添加的对象有任何考虑。 注意
~I 可用于检查“待添加”对象的性质。

D 仅当“就地”条目是目录时才为真。 要知道是否
“要添加”是不是目录,可以使用
“反转”运算符:~D

F 仅当“就地”条目是纯文件时才为真(如果
这个普通文件是一个“硬链接”,如果它的inode是
多次链接到目录树)

H 仅当“就地”条目是链接多个索引节点时才为真
次到目录树(=硬链接)它可能是一个普通文件,
例如,Unix 套接字、管道、字符设备、块设备。

A 与 H 相同,但当前的“就地”条目是我们的第一个链接
遇见指向那个硬链接的inode。

R 如果“就地”条目比同一日期更近或相同,则为真
作为“待添加”条目。 最后修改日期 [又名
mtime] 用于此比较。 如果“待添加”条目是
不是 inode(因此没有 mtime),“就地”是
被认为比“待添加”条目更新。 相同的
如果“就地”条目不是 inode(广告没有 mtime
可供比较),这里也假设更多
最近的。

R( )
如果“就地”条目更新或相同,则为真
固定日期在论证中给出。 没有考虑是
对“待添加”元素完成。 这格式是
与 -af 选项一起使用的相同。 如果条目没有 mtime
(例如,它不是一个 inode)它被假定为一个虚拟的 mtime
零。

B 仅当 'in place' 和 'to be added' 都是纯文件时才为真
(硬链接与否)以及“就地”文件的数据是否更大
或等于“待添加”文件的数据。 如果一个或两个条目
不是纯文件(或到纯文件的硬链接),因此
文件大小比较是不可能的,“就地”条目是
假定比“待添加”条目“更大”。

仅当“就地”数据保存在存档中时才为真(不是
自参考存档以来标记为未更改)。 注意
从存档中提取文件时,“就地”文件是
文件系统中的那个,它的数据总是“保存”的
(从 libdar 的角度来看)。 这个原子的“反转”
操作符 ~S 在上下文中可能仍然很有趣
恢复。

Y 仅当“就地”数据已保存但脏(纯文件
在读取数据以进行备份时更改了数据)。
请注意,在顺序读取模式下恢复是不可能的
知道文件是否脏(有可能知道一次
已读取其数据,但顺序读取不允许然后
向前跳过以获取文件的脏状态并跳过
向后以最终恢复该文件,具体取决于
覆盖策略结果)。

X 仅当“就地”数据是稀疏文件时才为真

T 仅当“就地”和“待添加”条目相同时才为真
类型(普通文件、Unix 套接字、命名管道、块设备、字符
设备、符号链接、目录、“detruit”(代表文件
自参考存档完成后删除),依此类推)。
请注意到 inode 的链接数(即这是否是一个
硬链接与否)不考虑在内。

e 如果“就地”条目具有 EA,则为真(可以保存它们还是只是
记录为存在)。

r 如果“就地”条目具有更新的或相同日期的 EA 到
“待添加”条目。 如果“待添加”没有 EA 或什至
不是 inode,返回 true。 如果“就地”没有 EA 或者是
即使不是 inode,也会返回 true,除非“要添加”有一些
EA。 比较是在 ctime 日期上完成的。

r( )
如果“就地”条目具有更新的或相同日期的 EA 到
固定的在论证中给出。 没有考虑
朝向“待添加”元素。 这格式是一样的
作为与 -af 选项一起使用的选项。 如果条目没有日期 (ctime
日期)(例如,当它不是 inode 时)它被假定为
值为零的虚拟 ctime。

m 仅当“就地”具有更多或相等数量的 EA 条目时才为真
它的 EA 集比“待添加”有。 如果条目没有 EA 或
甚至不是 inode,假设它有零个条目。 这
对这个数字进行比较。 注意EA的数量
entry 不是用于存储这些条目的大小。 例如,
EA 条目“user.test”计为 1,无论长度是多少
与之关联的值。

b 如果“就地”条目具有更大的 EA 集或相等大小的 EA,则为真
设置比“待添加”条目。 如果条目没有 EA 或
即使不是 inode,也假定它的字节长度为零
EA集。 在这种情况下,对这个数字进行比较。 笔记
比较是在用于存储整个字节的字节上完成的
与给定文件关联的 EA 集。

如果“就地”条目是 inode(或硬链接 inode),则为 true
并将其 EA 保存在参考档案中,不仅被标记
存在但自上次备份以来没有变化。 这个测试不需要
考虑到“待添加”条目。

好吧,您已经看到比较时保留大写字母
基于 inode 或数据,而小写字母用于原子
基于 EA。 现在我们已经完成了对这个功能的浏览,让我们
看一些例子:

-/ pp
如前所述,当没有文件时,这是 -n 选项的作用
定义了覆盖策略,避免了任何覆盖
数据以及EA。

-/ "{!T}[Pp] {R}[{r}[Pp]Po] {r}[Op] Oo"
允许使用空格和制表符以提高可读性。 这里的政策
代表:如果冲突中的文件类型不同,则
将条目的数据和 EA 保持在“位置”。 否则,如果“就地”有
更新的数据然后如果“就地”有更新的 EA 那么
保留其数据和 EA,否则仅保留其数据并覆盖
它的 EA。 否则(如果“就地”没有更新的数据),如果
拥有更新的 EA 然后覆盖数据但保留其 EA,
否则覆盖其数据和 EA。 该政策倾向于
保留最新的数据或 EA,但不考虑
考虑到 EA 或数据被有效地保存到
自存档以来刚刚标记为未更改的存档
参考。

-/ "{!T}[{~D}[Oo] Pp]"
如果条目的类型不同,如果“待添加”条目
是一个目录,然后我们保留它并覆盖“就地”
条目,否则我们保留“就地”条目。 如果条目相同
类型,策略不提供任何动作,因此默认
使用动作:“Pp”。 您可以轻松更改此默认操作
使用链运算符:

-/ "{!T}[{~D}[Oo] Pp] ; Aa"
在这种情况下,如果条目属于相同类型,则用户
会被问到做什么。

-/ "{!T|!I}[{R}[Pp] Oo] {S}[{~S}[{R}[P*] O*] P*] {~S}[O*] { R}[P*] O*]
; {s}[{~s}[{r}[*p] *o] *p] {~s}[*o] {r}[*p] *o]"
好吧,这可能看起来有点太复杂了,但只需将其视为一个
可以做什么的说明:如果“就位”和
“待添加”与我们保存数据和 EA 的类型不同
最近的文件(最后修改日期)。 否则,两者都是
同类型。 如果两者都是 inode 我们评估两个表达式链
(表达式由半列 ';' 分隔)我们将在
进一步详述。 否则,如果它们是相同类型但不是 inode
我们采用最新条目的 EA 和数据(这是
字符串的最后 10 个字符)。 好吧,现在让我们看看这个案例
inode:链中的第一个表达式设置数据的操作
并保持 EA 的动作未定义。 而秒,是
完全等效,但它保留了数据的操作
未定义 '*' 并为 EA 设置操作。 这两个表达
遵循相同的原则:如果两个条目都被保存(通过
反对被标记为自存档以来未改变
参考)在档案中,保存最新的 EA/数据,
否则,保存的 inode 之一被保留,但如果没有
保存在存档中的最新条目 (mtime/ctime) 被保留。

-^, --slice-mode perm[:用户[:组]]
定义用于创建切片的权限和所有权。 经过
默认情况下,dar 创建任何人都可以读写的切片
让 umask 变量根据用户的权限禁用一些权限
喜好。 如果您需要一些更受限制的权限,您可以
以八进制值的形式提供权限(因此以零开头),
像 0600 一样只授予用户读写访问权限。 当心
不要避免 dar 写入它自己的切片,例如,如果您提供
0400 等权限。另请注意,始终应用 umask
因此指定 -^ 0777 不会授予字宽读写访问
除非你的 umask 是 0000。

-_, --retry-on-change 计数[:max-byte]
当文件在读取备份时发生更改时,您可以
要求 dar 重新尝试保存它。 默认情况下可以重新保存文件
到 3 次(这是“计数”字段),您可以将其设置为零以
禁用此功能。 在选项中,总的最大字节数
允许因重试更改文件的备份而浪费
在列字符 (:) 之后,这是“最大字节”字段。 经过
默认(未指定 --retry-on-change 选项)浪费了 1 个限制
字节是允许的,这是最小值。 为最大字节集指定零
对浪费字节的数量没有限制(就像没有“最大字节”一样
指定),然后将每个更改的文件最多保存 'count' 次,如果
必要。

当上次修改时间已过时,文件被视为已更改
在打开文件进行备份和
时间它已被完全阅读。 在某些情况下是不可能的
替换已保存的文件数据(将存档写入
例如管道),仅在这种情况下,文件的第二个副本
在第一次之前的尝试之后添加,导致之前的
尝试变得无法访问,但是它在
存档,来自“浪费字节”的指定。 你可以删除
使用合并/过滤功能从存档中浪费的所有字节:
dar -+ new_arch -A old_arch -ak。

注意:从 2.5.0 版本开始,正常情况下不会浪费字节
文件在读取备份时发生了更改,除非执行
备份到管道(使用“-c -”选项),除非开头
修改后的文件位于前一个切片中,除非切片
使用散列或强加密。

-ad, --alter=递减
此标志仅在合并两个存档时使用。 而不是
通常合并,其中两个存档的每个文件都添加到
使用覆盖策略生成的存档最终会出现平局
(见 -/ 选项),这里合并构建一个对应的存档
到基于两个完整备份完成的递减备份。 -A
当 -@ 为
预计指向最近的一个。 如果使用此选项,则
最终覆盖策略被忽略并在内部替换为 -/
“{T&R&~R&(A|!H)}[S*] P* ; {(e&~e&r&~r)|(!e&!~e)}[*s] *p”。
此外,在较新的存档中找到的文件不存在于
较旧的被替换为“detruit”条目,这将它们标记为
在恢复时移除。 有关递减的更多信息
备份读取文档中的 usage_notes.html 文件。

-asecu,--alter=secu
此选项禁用在默认情况下执行的 ctime 检查
差异备份:如果一个普通文件的 ctime 已经改变
参考存档已完成,而所有其他值均保留
不变(inode 类型、所有权、权限、最后修改日期),
dar 发出“安全警告”,因为这可能是
存在rootkit。 您应该使用 -asecu 选项来禁用
这种类型的全局警告,如果您正在进行差异备份
刚刚恢复的数据(使用存档的差异备份
恢复作为参考)。 有效地在那种情况下,作为
无法恢复 ctime,恢复数据的 ctime 将
已更改,而所有恢复的其他参数将保持不变
文件,导致 dar 对所有恢复的文件发出警告。 这个
如果使用 -ac 选项运行 dar,则禁用安全检查(隐式)。
最后,如果文件自引用存档以来仅更改了其 EA
已完成(新 EA、删除 EA、修改 EA),安全警告将
显示(误报)。

-., --user-comment " ”
此选项允许用户将任意消息添加到存档中
标题。 警告! 此消息始终以明文形式存储,即使
存档是加密的。 您可以看到插入的消息
存档显示存档摘要(dar -l -q)。 一些
宏可以在里面使用:

%c 被使用的命令行替换。 请注意,为了安全起见,任何
删除了与存档加密相关的选项(-K、-J、-$、-#、
-*, -%)。 DCF 文件中包含的命令(请参阅 -B 选项)是
这个宏从来没有添加过。 因此,如果您不想
要查看存储在用户评论中的 --user-comment,您可以添加
--user-comment 定义在包含的文件中,例如 ~/.darrc
例。

%d 这是当前日期和时间

%u 这是运行 dar 的 uid

%g 这是运行 dar 的 gid

%h 已在其上创建存档的主机名

%% 人物。

-3, --hash 设置此选项后,在创建、隔离或合并存档时,
在每个生成的切片旁边,切片的动态哈希文件是
使用指定的算法创建。 可用的算法是“md5”,
“sha1”和“sha512”。 默认情况下不生成哈希文件。 哈希
生成的文件基于带有 .md5 的切片名称命名,
最后添加了 .sha1 或 .sha512 扩展名。 这些哈希文件
可以通过 md5sum、sha1sum 和 sha512sum 常用命令进行处理
(md5sum -c ) 来验证切片没有被
损坏。 请注意,结果与生成哈希不同
创建切片后使用 md5sum 或 sha1sum 文件,特别是
如果媒体有问题:在写入的切片上调用 md5sum 或 sha1sum
将使您计算可能已经损坏的哈希结果
文件,因此在测试文件时不会看到损坏
稍后再反对散列。 另请注意,创建一个
在管道上生成存档时哈希文件不可用(“dar
-C -”)。

-7, --签署电子邮件[,电子邮件[,...电子邮件]]
使用公钥加密创建存档时(读取 -K 选项)
也可以用您的一个或多个私人签名
键。 在上述哈希特征的不同之处,只有随机
生成的用于加密档案的密钥,在
存档的开头和结尾都已签名。 如果存档是
在某个地方修改,那部分将无法破译,
但签名验证将保持快速有效,除非部分
在这种情况下,已调和的是存档内的关键
签名检查将报告失败并且存档将不可读
根本。 如果签名有效并且可以提取存档
没有错误,整个档案可以被认为是由
gnupg 密钥所有者,但请阅读安全说明下方。 另见GNUPGHOME
在本文档末尾的环境部分。

显示签名信息的摘要信息
在以摘要模式列出存档时“dar -l -q”。对于
任何涉及签名存档的操作,一条短信只显示
如果存档已签名,一个或多个签名检查失败,则否
如果签名检查成功,则会显示消息。 这个
可以使用 --alter=blind-to-signatures 命令禁用警告。

-ab, --alter=盲签名
不检查具有公钥的加密档案是否具有
也被签名有正确的签名。

-<, --backup-hook-include
掩码仅在备份操作期间应用于路径+文件名。 如果
给定的文件匹配掩码,用户命令(参见下面的 -= 选项)
将在进行备份之前运行,并且一旦备份
完成。 另请参阅 -> 下面的选项。 重要提示:如果使用短路
选项,您需要将其括在引号之间:'-<' 表示 shell 不是
将 < 解释为重定向。

-> --backup-hook-exclude
掩码仅在备份操作期间应用于路径+文件名。 如果
给定的文件匹配掩码,即使它匹配之后给出的掩码
-< 选项,在它之前和之后不会执行任何用户命令
备份。 -< 和 -> 选项的作用类似于 -g 和 -P,它们可以接收
通配符表达式,因此它们的行为由
上面看到的 --alter=globe 和 --alter=regex 表达式,以及
--alter=掩码选项。 最后修改 --alter=case 和 --alter=no-case
也是考虑这些掩码区分大小写的方式。 经过
默认情况下,没有 -> 或 -< 选项,没有为备份挂钩选择文件。
重要提示:如果使用 short 选项,则需要将其括在
引号:'->' 表示 shell 不会将 > 解释为重定向。

-=, --backup-hook-execute
由于 -< 和 -> 提供的掩码覆盖的文件
选项,给定的字符串在该文件的备份之前执行
开始并完成后。 可以使用几个宏,它们是
在运行时替换:

%% 将被替换为文字 %

%p 将替换为备份下的完整路径

%f 将被文件名替换(不带路径)

%u 将被文件的 UID 替换

%g 将被文件的 GID 替换

%t 将被替换为对应于类型的字母
inode: 'f' 代表普通文件,'l' 代表符号链接,'d' 代表
目录,'c' 代表字符设备,'b' 代表块设备,'s'
用于插座,'p' 用于管道,'o' 用于门。

%c 和最有趣的 %c(c 表示上下文)将被替换
之前执行命令时通过“开始”或“结束”
或分别备份后。
这样,就可以在数据库即将备份之前停止它,然后重新启动它
备份完成后。 请注意,上面看到的掩码驱动执行
例如,此命令可以应用于目录或纯文件。 当一个目录
选择此功能,命令在开始之前逻辑运行(使用
上下文“开始”)备份位于该目录或其子目录中的任何文件,
一旦该目录或子目录中的所有文件都已保存,则运行该命令
第二次(上下文为“结束”)。 在此期间,如果任何文件确实与备份匹配-
钩掩码,不会为这些执行任何命令。 假设当一个目录有
被要求执行此钩子(或用户命令)准备执行的备份钩子
备份位于该目录中的所有数据。 环境变量 DAR_DUC_PATH 也
适用于这些用户命令(请参阅上面的 -E 或下面的 ENVIRONMENT 段落)。

-ai,--alter=忽略-未知-inode-type
当 dar 遇到它不知道的 inode 类型时(有些时候,它
例如,Solaris 上的门 inode 就是这种情况,门 inode 是
自 2.4.0 版以来由 dar 处理),它发出有关其的警告
无法处理这样的 inode。 即使该条目出现此警告
通过 -X、-I、-P、-g、-[ 或 -] 选项过滤掉,尽快
因为必须考虑同一目录中的其他条目
备份,导致 dar 读取该目录内容并失败
那个未知的 inode 类型(过滤是基于
目录列表)。 此选项是为了避免 dar 发出此类警告
在那种情况下。

恢复 具体 配置 (至 使用 -X)

-k[{ignore|only}], --deleted[={ignore|only}]
没有参数或带有“忽略”参数,此选项导致 dar
在恢复时不删除已删除的文件
参考的备份(文件覆盖仍然可能发生)。 经过
默认,自备份参考后已被破坏的文件
在恢复过程中被删除,但之前发出警告
继续进行,除非使用了 -w。 如果使用 -n,则不会有任何文件
删除(或覆盖),因此 -k 在使用 -n 时是无用的。 如果 -/
选项,这个没有参数的选项将被忽略! 随着
"only" 参数,此选项仅考虑标记为
在存档中删除以恢复,没有文件被恢复,但一些文件
被删除。 使用 -konly(或 --deleted=only)时,-/ 选项为
忽略(与“--no-delete=ignore”选项相反,它是
使用 -/ 时忽略)。 当然“--no-delete=ignore”和
"--no-delete=only" 是互斥的,因为如果它们都
同时可用 dar 什么也不做。

-r, --recent 只恢复不存在的文件或比存在的文件更新的文件
在文件系统中。 如果使用 -/ 选项,则忽略此选项!

-f, --flat 不恢复目录结构。 所有文件将在
指定给 -R 的目录,如果必须有两个同名文件
恢复,警告(-w 选项)和覆盖(-n 选项)的常用方案
选项)。 实际上没有计划重命名方案。 当这
选项已设置,dar 不会删除已存储为的文件
自上次备份以来已删除。 (-f 隐含表示 -k)。

-ae,--alter=erase_ea
[不推荐使用 -/ 代替] 删除所有现有文件的 EA
必须恢复的文件系统。 这样,恢复的文件
将拥有他们在备份时拥有的确切 EA 集。 如果
未提供此选项,要还原的文件将具有其 EA
被备份中存在的那些覆盖,如果一些额外的 EA
目前他们将保持原样。 见 备注 关于 扩展
Attributes (EA) 上面有关此行为的详细说明。
如果使用 -/ 选项,则忽略此选项!

-D, --empty-dir 在恢复时,如果没有指定 -D(默认)任何文件和
根据指定的过滤机制恢复目录
(参见 -I、-X、-P、-g、-[ 和 -] 选项)。 但是如果提供了 -D 选项
恢复会跳过不包含已保存文件的目录树。
这避免了一个巨大的空树和几个恢复的文件
尤其是在空的地方恢复差异档案时。
注意:当使用 --sequential-read 时,此功能不起作用,因为它
不可能知道目录是否包含一些已保存的
从存档中读取目录 inode 时的文件
顺序阅读模式。

-2, --dirty-behavior { 忽略 | 不警告 }
在恢复时,如果存档中的文件被标记为“脏”
(意味着它在保存时已更改),询问用户
在恢复之前确认。 指定“忽略”将跳过
那些脏文件,而“no-warn”将在没有用户的情况下恢复它们
确认。 此功能与顺序读取不兼容
模式,在这种模式下,dar 无法知道文件之前是否脏
恢复了它。 结果,在 --sequential-read 中,一次文件
已经恢复,如果发现脏了会被移除
除非脏行为设置为“无警告”。

-/, --overwriting-policy
覆盖策略可用于存档恢复以定义何时
以及文件覆盖如何发生。 见上面对这个的描述
选项。

-A, --ref [ ]/
--ref 选项可与独立目录一起使用以挽救
目录部分损坏的存档,请参阅一般
上面的选项了解更多详情。

测试 AND 区别 具体 配置 (至 使用 -t or -d)

-ado-not-compare-symlink-mtime,--alter=do-not-compare-symlink-mtime
设置此选项后,当比较符号链接时,不会显示任何消息
档案中的符号链接和文件系统上的符号链接仅在它们的
时间。 另请参见 -O 选项。

没有其他特定选项,但除 -w 之外的所有常规选项都可用
这是无用的,因为只测试和比较读取数据。 - 一个选项可用
存档内部目录备份的一般选项中描述(假设您
有一个以前孤立的目录可用)。

可以在顺序读取模式中进行不同的操作,但只能使用硬链接的 inode
与第一次遇到的文件系统相比,下一个指向同一个 inode 的硬链接
无法获取对应的数据,因为在顺序读取模式下向后跳是
禁止。 在这种情况下,硬链接被报告为已跳过,这意味着数据
无法进行比较。

房源 配置 (至 使用 -l)

-T, --list-format= , --树格式
默认情况下,listing 提供类似 tar 的输出(“正常”输出)。
但是,您可以获得树状输出、XML 结构化输出或
输出侧重于每个文件的数据、EA 和 FSA 所在的切片
位于。不带参数提供 -T 与提供相同
'树' 论据。 选项 --tree-format 是一个别名
--list-format=tree(向后兼容)。 注意文件
doc/dar-catalog-*.dtd 定义 XML 输出列表的格式
(此文件也安装在 $PREFIX/share/doc 下)

-Tslicing 选项也可以与独立目录一起使用
使用 dar 2.5.0 或更高版本生成,因为独立目录现在包含
参考档案的切片布局副本。 然而,如果
参考档案已被重新切片(使用 dar_xform)
独立目录已经建立,切片信息不会
是正确的。 对于这种极端情况,您可以使用 -s 和 -S 选项
使用 -Tslicing 指定存档的新切片大小
的参考。

-as, --alter=saved 只列出保存的文件

-alist-ea,--alter=list-ea
列出每个文件的扩展属性名称。

-I,-X,-P,-g,-[,-]
可用于过滤文件以根据其名称或路径列出。

从一般选项来看,似乎只有 -vm 和 -b 在这里有用。 请注意 -vm 显示
首先是存档摘要,其中可以查看有关存档的详细信息
获得。 如果您只想显示此摘要,请使用 -q 和 -l 选项。

显示字段

[data] 可能的值为 [ ] 或 [Saved] 或 [InRef] 或 [DIRTY]。 [ ]
表示数据没有被保存,因为没有变化
由于参考的备份。 [Saved]表示数据已经保存,
因此这个存档能够恢复文件。 [InRef] 用于
由 dar 2.3.x 及之前版本生成的存档,当隔离一个
来自存档的目录,意味着该文件已保存在
参考存档。 最后,[DIRTY] 表示数据被保存(比如
[已保存])但在 dar 读取它以进行备份时发生了变化,
导致 dar 可能将文件存储在它从未有过的状态。

[EA] 可能的值为 " " (空字符串) 或 [ ] 或 [InRef], [Saved]
或 [支持]。 它显示扩展属性是否存在和保存
([Saved]), 存在但未保存 ([ ]) 这意味着没有
自从参考备份后更改,如果没有为此保存 EA
文件(空字符串)或者如果某些 EA 存在于
参考,但目前没有可用的 ([Suppr])。 [InRef] 被使用
从存档中分离目录(版本 2.3.x 及之前)时
并且表示该文件已保存在参考存档中。

[FSA] 每个字符代表一个 FSA 家族:

“L”是代表 ext2/3/4 FSA 系列的第一个字符 (L/l/-)

“H”是代表 HFS+ FSA 系列的第二个字符 (H/h/-)

"-" 第三个字符是为未来的 FSA 系列保留的,是
现在总是冲刺。

大写表示保存了 FSA 集,小写表示保存了 FSA
存在于参考档案中并且自那以后没有改变
时间。 最后一个破折号 (-) 表示没有保存该家庭的 FSA
那个文件。

[compr] 可能的值为 [....%] 或 [-----] 或 [ ] 或 [更糟]。 显示如果
文件已被压缩 ([...%]) 和压缩率
达到“(未压缩-压缩)/未压缩”,例如 [ 33%]
意味着压缩的数据只使用了所需空间的 66%
存储未压缩的数据(压缩节省了 33% 的空间),或
如果文件未经压缩存储([ ] 见 -m、-Y 和 -Z
选项)或者如果文件不受压缩,因为它是
不是保存的常规文件 ([----]),或者文件占用更多空间
由于压缩,压缩比其原始大小([更糟])
高架。 请注意,1% 的压缩率几乎没有数据
减少,而显然 98% 是非常高效的压缩
(压缩文件仅占用所需大小的 2%
未压缩的日期)。

[S] 可能的值为 [ ] 或 [X]。 [X] 仅适用于保存的纯文件,
并告诉该文件是使用稀疏文件数据结构存储的:
并非所有数据都被存储,长的零序列被跳过。 这也是
意味着在恢复时,如果文件系统支持它,孔
将被恢复。 libdar 使用escape 来存储孔信息
序列(字节的特殊序列),但要避免真正的数据
被视为这样的转义序列,使用特殊的转义序列
当数据看起来像一个转义序列时。 所以如果一个数据包含这样的
转义序列,它必须被读取,就好像它包含漏洞一样
以原始形式恢复数据。 为此,在某些
罕见情况(将 dar 存档保存在 dar 存档中,而无需
压缩或加密,例如)一个没有漏洞的文件可能是
标记 [X] 就好像它有洞一样,每个字节都会更长
数据序列看起来像一个转义序列。

允许
请参见 ls 手册页。 请注意,在权限前加星号 (*)
string 如果相应的 inode 被多次链接到
目录结构(硬链接)。

文件的用户所有者

group 文件的组所有者

size 文件的字节大小(如果启用压缩,则文件中的实际大小
存档是“压缩率”时间更小)。

date 文件的最后修改日期。 最后访问时间也是
保存和恢复,但不显示。

文件名 文件名。

扩展属性
使用 -alist-ea 选项时,对于硬链接 inode,文件名是
后跟一个大括号之间的整数:具有相同编号的条目 do
指向同一个inode。

Slice(s) 在 -Tslice 模式下,每个文件都被赋予了它所在的切片范围
in. 如果切片大小选择得特别小,某些切片可能会
不包含文件、EA、FSA 数据,只包含磁带标记或内部
目录,导致报告的切片汇总未涵盖所有
存档的可用切片。

显式 可选 争论


当 dar 没有用 GNU getopt 编译时,默认情况下在某些
像 FreeBSD 这样的系统,您可能缺少可选参数语法。 例如“-z”将
在命令行或 -B 配置文件中创建解析错误。 解决办法是
明确给出论证。 以下是用于代替的显式参数列表
可选的:

-z 必须替换为 -z 9

-w 必须替换为 -wd 或 -w default

-H 必须替换为 -H 1

-0 必须替换为 -0 ref

-5 必须替换为 -5 ""

-p 必须替换为 -p 1

-v 必须替换为 -v all

-k 必须替换为 -k 忽略

-5 必须替换为 -5 user.libdar_no_backup

重要 ! 使用 GNU getopt() 时,可以通过粘贴
短选项的参数:例如“-z”和“-z9”都可用。 但是“-z 9”
是错误的,它将被读作“-z”选项和“9”,一个命令行参数(不是一个参数
到 -z 选项)。 另一方面,当这次使用非 GNU getopt 时,“-z”变为
一个总是需要参数的选项,因此“-z 9”被读作“-z”选项
“9”作为参数,而“-z9”将作为未知选项被拒绝,而“-z”单独将
由于未提供参数,因此生成错误。 结果,你 需要 之间的空间
当 dar 不依赖于 GNU 时,选项(如“-z”)及其参数(如“9”)
getopt() 调用,这也暗示您显式地将参数用于刚刚列出的选项
以上。

退出 编码


使用以下代码退出:

0 操作成功。

1 命令行或 DCF 包含文件上的语法错误

2 由于硬件问题或内存不足导致的错误。

3 检测不应该发生的情况,并且被认为是
应用程序的错误。

4 当用户根据来自 dar 的 dar 问题中止程序时发出的代码。
当 dar 不是从终端运行时也会发生这种情况(例如从终端启动)
crontab) 和 dar 向用户提出问题。 在这种情况下,dar 中止相同的
就像用户在问题提示下按下了转义键一样。

当检测到有关处理数据的错误时,返回 5。 尽管
保存,这是无法打开或读取文件的情况。 尽管
恢复,这是无法创建或替换文件的情况。 尽管
比较,这是存档中的文件与存档中的文件不匹配的情况
文件系统。 在测试时,当文件在
存档。

6 执行用户命令时发生错误(使用 -E 或 -F 选项给出)。
主要是因为无法创建新进程(进程表是
full)或用户命令返回错误代码(退出状态不同于
零)。

7 调用 libdar 例程时发生错误。 这意味着调用者 (dar
程序),不遵守 API 的规范(这可以是
被视为错误的特殊情况)。

8 所使用的 dar 版本基于有限长度的整数(已编译
使用选项 --enable-mode=...)。 当整数时返回此代码
发生溢出。 使用完整版本(基于所谓的“infinint”
类)以避免此错误。

9 此代码表示未知错误。 要处理的异常缓存代码
新的异常可能已经忘记更新了......这是一个小错误
欢迎您举报。

10 您尝试使用在编译时已禁用的功能。

11 一些保存的文件在dar读取它们时发生了变化,这可能导致数据
为该文件保存的与该文件的有效状态不符。 例如,
如果文件的开头和结尾同时被修改
(当 dar 正在阅读它时),只会保存最后的更改(
开头已经被读取),记录的文件的结果状态
dar 从未存在过,可能会对使用它的应用程序造成问题。 这是
在存档中称为“脏”文件。

讯号


如果 dar 收到信号(见 (2) 手册页)它将采用默认行为
大多数时候会突然中止程序,除了以下信号:

SIGINT 该信号由终端在按下 CTRL-C 时产生(使用
终端的默认设置),也可以用kill命令生成

SIGTERM 该信号由系统在运行级别改变时产生,特别是
做关机的时候,也可以用kill命令生成

SIGHUP 根据系统,这个信号可能在 SIGTERM 信号之前发送
关机时间,也可以用kill命令生成

SIGQUIT 该信号由终端在按下 CTRL-\ 时产生(使用
终端的默认设置),也可以用kill命令生成

SIGUSR1 这个信号可以由kill命令产生

SIGUSR2 这个信号可以由kill命令产生

对于那些先前的信号,有两种行为退出。 对于 SIGHUP、SIGINT、SIGQUIT、SIGTERM 和
SIGUSR1,一个 延迟 终止 已完成:备份或隔离操作已停止,
目录已附加到档案中,并且档案已正确完成
正确的终止符字符串,这样生成的存档是可用的,并且可以用作
稍后进行差异备份的参考。 请注意,如果动态隔离具有
被问到,它不会*被执行,即使 dar 也不会启动任何用户命令
已配置为(-E 选项)。 对于 SIGUSR2 而不是 来迅速 终止 完成:在
备份或隔离的情况下,归档根本没有完成,只有内存和互斥锁
被正确释放。

对于终止类型和备份或隔离以外的其他操作,dar 的行为
是一样的:为了恢复,关闭所有打开的目录并设置权限
恢复到其原始值(如果必须更改以进行恢复)。 为了上市,
比较,测试,程序立即中止。

另一点,当使用前面的信号之一时,dar 将返回存在
状态 4 表示用户已中止操作。 请注意,对 a 回答“否”
来自dar的问题也可能导致dar以这种方式退出。 最后,如果在结束之前
程序再次收到相同的信号,dar 将立即中止。

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


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad