Amazon Best VPN GoSearch

OnWorks 网站图标

rdup - 云端在线

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

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

程序:

您的姓名


rdup - 生成适合进行备份的文件列表

概要


结转 [-N 时间戳]-[-Pcmd,opt1,...,opt7]……[OPTION] ... 文件列表 [目录/文件]...

商品描述


结转 是受 rsync 和 Plan9 备份方式启发的实用程序。 结转 自己做
不备份任何东西。 它只打印更改的文件列表,或所有文件以防万一
一个空转储。 它还处理被删除的文件,允许正确的增量
备份。 打印的所有路径都是绝对路径。 结转 使用更改时间(ctime)来决定
文件是否被修改。

它的工作原理如下,对于完全转储

1. 抓取所有目录,并将找到的所有名称打印到标准输出。

2. 用爬行时找到的所有名称编写一个文件列表。 使用此列表
计算正确的增量转储。

对于增量转储

1. 读入在执行完全转储时写入的文件列表。

2. 触摸时间戳文件。

3. 再次抓取所有目录。

4. Diff 1. and 2. 得到两个列表; 删除的项目之一和添加/修改的项目之一
项目。

5. 将删除的项目写入标准输出

6. 将修改后的/新项目写入标准输出。

7. 写一个新的文件列表。

- 文件列表 是一个内部列表 结转 写入,以跟踪哪些文件在
备份。 如果您不想要这个(即进行完整备份),请使用 的/ dev / null的 这里。 文件
的/ dev / null的 由专门处理 结转: 如果检测到没有新文件列表被写入。

- 目录/文件 可以多次指定。 这些是您的目录和文件
想备份。 如果省略它默认为当前目录“。” .

如果 -N 时间戳 未给出选项,将打印找到的所有路径。 只有当一个 -N
时间戳 给定文件,可以比较时间并生成增量输出。

结转 将文件列表打印到标准输出。 可以使用流水线中的后续程序
实际实施到备份方案。 运行后写入新的 FILELIST。 没有警告
当 FILELIST 是现有文件时给出,它只是被覆盖 结转. 新运行
将仅打印出自上次以来实际更改或删除的那些文件
运行,从而使增量备份成为可能。

通过比较 c-time(更改时间)来检查文件的更改,如果这个时间是 NEWER
比时间戳文件的 c-time 路径名打印到标准输出。 当文件
被删除它们也被打印到标准输出,但它们以“-”为前缀。
参见 FORMAT 以下。 默认格式 结转 用法是:“%p%T %b %t %u %U %g %G %l %s\n%n%C”

注意 结转 还支持文件散列,这使得可以检查本地
hash 与备份文件的 hash。

所有错误都写入标准错误。 如果目录或文件不存在,它们
被跳过并发出警告。

总体思路是非常像 UNIX 并创建一堆简单的程序,每个程序
把他们具体的事情做好。 和 结转 和一个小的 shell 脚本(50 行)一个可以
实施加密和压缩备份。

As 结转 不备份任何东西,备份策略; 你备份什么,你如何备份,如何
经常以及您如何恢复; 一切都留给脚本和您的想象力。 开始
你的想象力看到 rdup-tr(1), 重组(1) 也许 rdup-备份.

配置


-P命令,选择0,...,选择6
过滤所有输出 命令. 选择0 通过 选择6 作为选项提供给
命令。 可以使用多个 -P,但是最多有七个选项
每个命令。 选项用逗号分隔,必须有 没有 中的空间
之间。

由于 Unix 中管道的性质,此管道会为每个文件重新创建
处理。 另请参阅下面的“子进程”。

-F 格式
指定要使用的 printf 样式格式。 看 FORMAT 联络一位教师

-N 时间戳
使用文件的 c_time 时间戳 作为时间戳来决定要包含在
增量备份列表。 如果 时间戳 不存在执行完整转储。

-M 时间戳
为-N,不过看timestamp的m_time。

-R 反转输出 结转. 接受此输出的工具必须创建领先的
他们看到的目录。 此选项允许脚本 -- 以普通用户身份运行
-- 将文件放在一个目录中,该目录可能具有 0600 作为其权限。

-E 文件
名为“file”的文件包含与 Perl 兼容的正则表达式列表
(PCRE),每行一个,即 结转 将用于 排除 名称。 开头的“#”
该行可用于表示评论。 空行被忽略。

如果排除目录, 结转 不会下降到那个目录中,所以所有文件
该目录也被排除在外。

不能排除通向要备份的目录的目录。 如果
您使用如下命令行:

rdup /dev/null /home/miekg/bin

目录 '/主页', '/home/miekg', '/home/miekg/bin' 总是被打印出来。

如果要排除文件“/home/miekg/blaat”,则需要添加以下内容
正则表达式:'/home/miekg/blaat'。

如果你想排除所有用户的所有 .mozilla/cache 目录,你可以使用
'/家/。*/.mozilla/cache/.*'。 这不排除目录本身,我
假设用户的主目录位于 '/主页'.

另请注意 结转 不打印带有斜杠的目录。

-a 恢复文件和目录的原始访问时间。

-n 不尊重 .nobackup 文件。 通常,如果找到这样的文件,目录和所有
包含它的文件不会打印到标准输出。 现在他们是。

-r 只打印删除的文件; 以“-”开头的条目。 此选项取消设置 -m。

-m 只打印修改过的/新的文件; 以“+”开头的条目。 此选项取消设置
-r。

-v 再详细点。 使用时,每个路径也将打印为标准错误。

-s 尺寸
不要输出大于 尺寸 字节。 这可用于限制数量
进行远程备份时要传输的数据。 这个选项 仅由 适用于
文件。

-x 留在本地文件系统上。

-V 打印 rdup 的版本。

-h 概述选项。

儿童 流程 (-P 旗帜)
在创建输出时,您可能还想“管道”的内容 通过一个文件
命令的数量,比如压缩和加密实用程序。 请注意,这是不同的
比压缩 整个 使用 -z 选项将存档作为 GNU tar 允许的文件。 所以这是
哪里 结转 进来。它允许您创建一个普通的档案,其中 文件是
加密(或压缩。反向或其他)。 结转 通过分叉孩子来做到这一点
转换内容的过程。

如果分叉的孩子之一返回零 (0) 以外的退出代码,则假定
整个转换过程失败。 在这种情况下 结转 终止。

如前所述 结转 通过派生出许多子进程来工作(这些命令以
-P 选项),将它们与管道互连。 当前文件连接到
第一个孩子。 这些子进程创建的输出被父进程捕获
(结转)。 然后将内容以归档格式写入标准输出。 作为一个
图片说了一千多字这里是过程的ASCII图像:

+--- ... (stdout) ... ----> 存档
/
rdup <--- ... ... <----+
|
循环#files |
|
文件---> cmd1 | cmd2 | ...| 指令

BACKUPS


附:
rm -f 时间戳 && rdup -N 时间戳列表目录

完整转储文件列表打印到标准输出。 与:

rdup -N 时间戳列表目录

打印增量转储文件列表。 文件 时间戳 用于保存准确时间
rdup 的运行。 文件 清单 用于计算正确的增量转储列表,这个
被删除的文件或具有不同类型的文件需要。

FORMAT


默认格式 结转 用法是:“%p%T %b %t %u %U %g %G %l %s\n%n%C”

以下转义序列由以下人员理解 结转:

'p': '+' 如果文件是新的/修改过的,'-' 如果删除
'b':来自的权限位 统计(2)、四位八进制
'm':文件模式位,st_mode 来自 统计(2)、十进制数字
'u': uid
'U':用户名
'g':gid
'G':组名
'l':路径名长度
's':文件大小,但请参阅 洞穴
'n':路径名
'N':路径名,但在软链接或硬链接的情况下 仅由 链接名称。
't':修改时间(从纪元开始的秒数)
'H':常规文件的 SHA1 哈希值,所有其他类型都为零(“0”)
'T':文件类型
- 普通文件, l 符号链接, h 硬链接, d 目录,
c 字符设备, b 块设备, p 命名管道
s 插座。
'C':文件的内容(对于所有其他类型都没有)

分隔输出 结转 对于 NULL,您可以在格式字符串中使用 '\0'。

任何文件内容都以基于块/块的方式写入。 最后一个块用信号表示
一个空块。 块起始条目是 ASCII 格式,格式如下: VVBLOCKBBBBB\n 。
其中“VV”是版本,当前为“01”,然后是文字字符串“BLOCK”,然后是
字节数 (BBBBB),典型的“08192”。 然后换行。 这看起来像这样:

01块08192
8192BLOCK01
15BLOCK01

字节计数为零表示停止块。

文件列表


结转 按以下格式写入(内部)FILELIST:

MODE DEV INODE LINK UID GID PATH_SIZE FILE_SIZE 路径

其中 MODE 是来自的 st_mode 统计(2), DEV 是 stat 调用返回的 dev id 和
INODE 是 inode 编号 - 结转 需要此信息来决定是否重命名目录。 关联
硬链接等于 'h',符号链接等于 'l',否则等于 '*'。 UID 和 GID 是
文件的数字用户和组 ID。 PATH_SIZE 是 PATH 的长度。 FILE_SIZE 的
文件大小。 最后 PATH 是文件的路径。

一个典型的例子是:

16893 2050 32085 * 1000 1000 30 4096 /home/miekg/git/rdup/.git/logs

OUTPUT FORMAT


产生的输出 结转 格式如下:

+|-TYPE BITS MTIME UID 用户 GID 组 PATH_SIZE FILE_SIZE\n
路径文件_内容

这使得远程 shell 脚本可以接收实际文件
内容并进行备份。

对于目录:FILE_SIZE 为零且不打印任何内容。 因此:

+d 0755 1260243445 1000 米 1000 米 11 0\n
/家/米克

对于常规文件,以下是示例输出:

+- 0644 1260243445 1000 米 1000 米 32 6\n
/home/miekg/svn/rdup/trunk/aaa/a01块00006\n
hello \n
01块00000\n

其中 啊/啊 是一个包含单词 'hello\n' 的常规文件

洞穴
如果您不喜欢这种行为,则使用 %n 时软链接和硬链接的处理方式不同
使用 %N。 PATH 名称是根据链接的名称及其目标生成的。 一个符号链接,如

/home/bin/blaat -> /home/bin/bliep

打印为“/home/bin/blaat -> /home/bin/bliep”。 PATH_SIZE 相应修改,
在哪里 ' -> '(4 个字符)也算在内。 FILE_SIZE 不需要用于软或
硬链接,所以它设置了链接名称的长度——'->'左边的部分,在
这种情况下'/home/bin/blaat'的长度。

如果 rdup 遇到硬链接,它会以相同的方式处理,但输出类型设置为
'h' 而不是 'l'。 仅当 rdup 找到具有相同 inode 的文件时才检测到硬链接
和设备号作为前一个,即此类硬链接必须包含在您的备份中。

再次注意:使用 '%N' 只打印链接的名称。 FILE_SIZE 是 仍然 设置为
链接名称的长度。

设备
对于设备,大小字段 (%s) 更改为包含设备的主要、次要编号。
因此,如果主编号为 8,次编号为 0(在 Linux 下为 /dev/sda),则其
大小将是 8,0. 数字仅用逗号“,”分隔。

符号链接
你可能会想 结转 将下降到符号链接指向的目录。
这不是实际发生的事情, 结转 将打印任何目录
符号链接和意志 而不去 进入目录。 GNU tar 的工作原理相同。

退出 守则


结转 成功时返回零退出代码,否则返回 1。 rdup 将中止,如果
如果无法编译正则表达式或信号,则无法连接文件
收到。

示例


下一组示例都将进行完整转储——因为使用了 /dev/null。 看
rdup-tr(1) 有关更高级的示例。

结转 (镜像)
备份:
rdup/开发/空 〜/斌 | rdup-up -t /共享/备份
恢复:
rdup /dev/null /共享/备份 | rdup-up -t /tmp/恢复
or
cp -rap /共享/备份/tmp/恢复

结转 (存档)
备份:
rdup/开发/空 〜/斌 > 我的存档.rdup
恢复:
rdup-up -t /tmp/restore < my-archive.rdup

的cpio
备份:
rdup -R -F '%N\n' /dev/null 〜/斌 | cpio -o -Hcrc > my-archive.cpio
恢复:
cpio -i -d -Hcrc < my-archive.cpio

焦油
备份:
rdup -F '%N\n' /dev/null 〜/斌 | tar c -f my-archive.tar -T - --无递归
恢复:
tar x -f my-archive.tar

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


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。