这是命令 bup-index,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
bup-index - 打印和/或更新 bup 文件系统索引
概要
bup 索引 <-p|-m|-s|-u|--clear|--check> [-H] [-l] [-x] [--fake-valid] [--no-check-device ]
[--假无效] [-f 索引文件] [ - 排除 径] [--排除-从 文件名] [--排除-rx
模式] [--排除-rx-从 文件名] [-v]
商品描述
bup index 打印和/或更新 bup 文件系统索引,它是
文件系统中每个文件和目录的文件名、属性和 sha-1 哈希值。 这
bup 索引在功能上类似于 混帐(1) 索引,可以在
$BUP_DIR/bupindex。
在 bup 中创建备份包括两个步骤:用 bup 索引更新索引,然后
实际上使用 bup save 备份文件(或文件的子集)。 分离
存在的原因如下:
1. 生成需要备份的文件列表的方法不止一种。 为了
例如,您可能想要使用 inotify的(7)或 通知(7)。
2. 即使您将文件备份到多个目的地(为了增加冗余),文件
名称、属性和哈希值每次都相同。 因此,您可以保存
重复为每个备份集重新生成文件列表的麻烦。
3、你可能想把bup index跟踪的数据用于其他目的(比如超速)
其他需要相同信息的程序)。
附注
目前,bup 将忽略 Linux 属性(参见 聊天室(1)和 萨特(1)) 在一些
系统(任何大端系统,其中 sizeof(long) < sizeof(int))。 这是因为
Linux 内核和 FUSE 目前在 attr 系统调用参数的类型上存在分歧,
等等在大端系统上,没有堆栈风险就无法获得结果
腐败(http://lwn.net/Articles/575846/)。 在这些情况下, bup 将打印一个
在任何索引/保存/恢复操作期间首次与 Linux 属性相关时发出警告。
bup 为预期的“最坏情况”文件系统时间戳解析提供了便利——
当前一秒; 示例包括 VFAT、ext2、ext3、small ext4 等。 由于 bup
无法知道文件系统时间戳解析,并且可能遍历多个
在任何给定运行期间的文件系统,它总是假设分辨率可能不会更好
超过一秒。
实际上,这意味着索引更新有点不精确,因此 bup save
可能偶尔会记录您没想到的文件系统更改。 那是因为,期间
索引更新,如果 bup 遇到实际时间戳比 XNUMX 更近的路径
更新开始前的第二秒,bup 将设置该路径的索引时间戳(mtime
和 ctime) 到运行前一秒,有效地限制了这些值。
这确保了对这些路径的后续更改不会导致时间戳为
与索引中的相同。 如果可能的话,bup 可以忽略
修改。
你可以在这个例子中看到这种行为的效果(假设不到一秒
在初始文件创建和第一次索引运行之间经过):
$ 触摸 src/1 src/2
# 这里的“sleep 1”可以避免意外的保存。
$ bup 索引源
$ bup save -n src src # 保存 1 和 2。
$日期> src/1
$ bup 索引源
$ date > src/2 # 未编入索引。
$ bup save -n src src # 但无论如何都保存了 src/2。
严格来说,bup 不应该注意到 src/2 的变化,但它确实注意到了,因为
上述住宿。
模式
-你, - 更新
递归更新给定文件名及其后代的索引。 一个或
必须给出更多的文件名。 如果没有给出模式选项,这是默认值。
-p, - 打印
打印索引的内容。 如果给出了文件名,则显示给定的条目
和他们的后代。 如果没有给出文件名,则显示从以下位置开始的条目
当前工作目录 (.)。
-米, - 修改的
仅打印标记为已修改的文件(即,自最近一次更改以来
备份)在索引中。 意味着 -p。
-是的, - 地位
在每个文件名之前添加状态代码(A、M、D 或空格)。 意味着 -p。 这
代码分别表示文件在索引中被标记为添加、修改、
自上次备份以来已删除或未更改。
- 查看
更新前后仔细检查索引文件的完整性。 主要用于
自动化测试。
- 清除
清除默认索引。
配置
-H, --哈希
对于打印的每个文件,添加最近记录的哈希码。 哈希码
通常由 bup save 生成。 对于尚未备份的对象,
哈希码将是 0000000000000000000000000000000000000000。注意哈希
即使已知文件在索引中被修改或删除,代码也会打印
(即文件系统上的文件不再与记录的哈希匹配)。 如果这是
对您来说有问题,请使用 --status。
-l, - 长
以与 -l 选项类似的格式打印每个文件的更多信息
ls(1)。
-X, --xdev, --一个文件系统
在文件系统中递归时不要跨越文件系统边界——尽管
与 tar 和 rsync 一样,挂载点本身仍将被索引。 仅有的
如果您使用 -u,则适用。
--假有效
将指定的文件名标记为最新的,即使它们不是。 这对
测试,或避免不必要地备份您知道很无聊的文件。
--假无效
将指定的文件名标记为不是最新的,强制下一个“bup save”运行到
重新检查它们的内容。
-F, --索引文件=索引文件
使用不同的索引文件名而不是 $BUP_DIR/bupindex。
--排除=径
排除 径 从备份(可能会重复)。
--排除-从=文件名
读取 --exclude 路径来自 文件名, 每行一条路径(可以重复)。 忽略
完全空行。
--排除-rx=模式
排除任何路径匹配 模式, 必须是 Python 正则表达式
(http://docs.python.org/library/re.html)。 该模式将与
完整路径,没有锚定,所以“x/y”将匹配“ox/yard”或“box/yards”。 到
排除内容 / tmp目录,但不是目录本身,使用“^/tmp/。“。 (也许
重复)
例子:
· '/foo$' - 排除任何名为 foo 的文件
· '/foo/$' - 排除任何名为 foo 的目录
· '/foo/.' - 排除任何名为 foo 的目录的内容
·'^/tmp/。' - 排除根级别 / tmp目录的内容,但不是 / tmp目录 本身
--排除-rx-from=文件名
从中读取 --exclude-rx 模式 文件名, 每行一个模式(可以重复)。
忽略完全空行。
--无检查设备
如果设备编号 (统计(2) st_dev) 变化。 这个
在索引远程、自动挂载或 (LVM) 快照文件系统时非常有用。
-v, --详细
增加更新期间的日志输出(可以多次使用)。 用一个 -v,打印
更新后的每个目录; 使用两个 -v,也打印每个文件。
示例
bup 索引 -vux /等 / VAR 在/ usr
使用 onworks.net 服务在线使用 bup-index