RSYNC 将新文件复制到不同目录中

RSYNC 将新文件复制到不同目录中

在远程目录中,我有以下文件,只需将当天的文件+以前的运行失败复制到本地目录。

示例:在远程:

aa.txt
aa-18-04-2017.txt
aa-17-04-2017.txt

在本地,我必须将文件同步aa.txt到我的新目录。

如果上次运行失败,我需要 rsync 两个文件(aa.txtaa-18-04-2017.txt)。

有人可以帮我解决这个问题吗?

目前,RSYNC 正在将所有文件复制到我们的本地目录,这每天都会导致存储问题。

答案1

rsync有一个非常全面的手册页,甚至还有一些示例说明如何执行此操作。这是我对你想要的内容的看法。

rsync -auv remotemachine:/path/to/srcdir/ /path/to/dest_dir

我做了一些假设,如果您的设置不同并且您需要更多帮助,请使用附加信息更新您的问题。

假设:

Remotemachine 已设置 rsync 服务器。 (可以进行 ssh 访问,但语法略有不同)

-a 存档模式自动设置几个选项,但这通常是您想要的备份

-u 更新模式,仅复制不存在或大小或上次修改时间不同的文件(源文件比您已有的文件新)

srcdir/ 尾部斜杠表示将文件复制到src_dirtodest_dir以避免目标中出现额外的级别。

-v 详细模式,以便您可以看到发生了什么。

要测试这一点,请-n另外使用该选项,这会跳过副本,但会向您显示它将执行的操作。

但我确实建议阅读手册页man rsync并进行测试。

[编辑] 在 @Dev 下面的第 1 条评论之后。

如果你有一个中间步骤,即dest_dir实际上是一个临时本地存储位置,用于离线归档。然后,您可以构建已成功归档的文件列表,并使用该--exclude-from-file=/some/where/exclude_list.txt选项。

相关内容