![有没有办法移动我未使用的文件并镜像它们的目录](https://linux22.com/image/140678/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E7%A7%BB%E5%8A%A8%E6%88%91%E6%9C%AA%E4%BD%BF%E7%94%A8%E7%9A%84%E6%96%87%E4%BB%B6%E5%B9%B6%E9%95%9C%E5%83%8F%E5%AE%83%E4%BB%AC%E7%9A%84%E7%9B%AE%E5%BD%95.png)
我想使用这样的脚本将旧文件移动到另一个目录中
find /sourcedirectory -maxdepth 1 -atime +700 -type f -exec mv "{}" /destination/directory/ \;
效果很好,但它不像以前那样排序。因此,我正在寻找一种方法来镜像文件夹并像以前一样对其中的文件进行排序。
那可能吗?
答案1
如果您只想 rsync 源文件夹中 31 天以内的文件管理器,您可以通过以下方式组合 rsync 和 find:
rsync -Ravh $(find /path/to/folder/ -type f -mtime -31) /path/to/destination/folder
答案2
我现在无法测试这个,但请尝试
find /sourcedirectory/./ -maxdepth 1 -mtime +700 -print0 |
rsync -a --files-from=- --from0 --remove-source-files / /destination/directory/
实际上,由于您已指定-maxdepth 1
不考虑任何子目录,因此除了您在问题中所述的命令之外不需要任何其他内容:
find /sourcedirectory -maxdepth 1 -atime +700 -type f -exec mv "{}" /destination/directory/ \;
这使它成为你的重复先前的问题。