我在 Linux 机器上有一个文件夹,我想复制它以进行备份。由于它最近变得太大,我只想复制过去 6 个月内发生过更改的文件,但保留完整的目录结构。
我想要实现的结果是
copy -rp folder backup/
find backup/ -mtime +180 -type f -delete
但我希望这样做,而不是先复制 20 GB 的数据,然后稍后再删除 95%。
到目前为止我想到了
find folder/ -mtime -180 -type f -exec cp -p {} folder/ \;
但这并不能保留目录结构......
答案1
你的 cp 命令 几乎正确。你只缺少一个参数:
--parents
use full source file name under DIRECTORY
该命令应如下所示:
find folder/ -mtime -180 -type f -exec cp -p --parents '{}' folder/ \;