由于某些原因,我需要进行数据克隆。
其中我需要复制一个巨大目录的整个结构,但我只想复制那些小于 1MB 的文件(其层次结构不变),因为我想避免克隆许多巨大的临时文件。
我应该使用哪些实用程序或命令来实现该目标?
zip命令可以直接实现这个目标吗?
答案1
rsync 有一个 --max-size 选项,它将排除超过一定大小的文件从一个目录复制到另一个目录。从手册页;
--最大尺寸=尺寸 这告诉 rsync 避免传输任何大于指定 SIZE 的文件。 SIZE值可以加上字符串后缀以指示大小乘数,并且可以是小数值(例如lq--max-size=1.5mrq)。 此选项是转移规则,而不是排除规则,因此不会影响 进入文件列表的数据,因此不会影响删除。它只是限制接收者请求传输的文件。 后缀如下:lqKrq(或lqKiBrq)是千字节(1024), lqMrq(或lqMiBrq)是兆字节(1024*1024),lqGrq(或lqGiBrq)是吉字节(1024*1024*1024)。如果您希望乘数为 1000 而不是 1024,请使用 lqKBrq、lqMBrq 或 lqGBrq。 (注意:所有值也接受小写。)最后,如果后缀以 lq+1rq 或 lq-1rq 结尾,则该值将在指示方向上偏移一个字节。 示例:--max-size=1.5mb-1 是 1499999 字节,--max-size=2g+1 是 2147483649 字节。