Linux - 复制文件夹(包括子文件夹),但不要复制任何超过 5MB 的文件

Linux - 复制文件夹(包括子文件夹),但不要复制任何超过 5MB 的文件

我管理着 2 台 Linux 服务器,希望将数据从一台复制到另一台。我希望先将这些文件复制到一台服务器上,然后对其进行压缩,再将其 scp 过来。

我需要复制一个 100GB 的文件夹,但此文件夹中有许多子文件夹。这些文件夹中有一些文件大小超过 5MB。如何在 Linux 中复制此文件夹而不包含任何超过 5MB 的文件?

答案1

一如既往,实现这个目标的方法不止一种。我的第一个想法是创建一个 shellscript,使用 find 来创建文件列表,然后使用 rsync、scp 或其他任何工具来复制文件。但是,为什么要让一个简单的任务变得复杂呢?

实际上,我深入研究了 rsync 的手册页并找到了 --max-size=SIZE 和 --min-size=SIZE 参数。使用这些参数构建 rsync 命令,我建议通过 SSH 执行 rsync。它看起来像这样:

rsync -za --max-size=SIZE  /{SOURCE_FOLDER} [email protected]:/{DESTINATION_FOLDER}/

查看手册页以了解更多选项。祝你好运。

相关内容