我正在尝试将文件从一个目录移动到服务器。这是我正在使用的代码。
sudo rsync --remove-source-files --verbose --progress --include '*.plot' --exclude '*.tmp' /media/nvme500/ /media/tankv1/mining/chia/
输出始终是“跳过目录”并且文件不会被移动。
我究竟做错了什么?
答案1
您缺少-rt
(--recursive
和--times
) 或-a
( --archive
)。如果没有这两个选项之一,您将只能复制最顶层源目录中的文件。
因为你用的--remove-source-files
是强烈-n
建议您使用( )测试得到的解决方案--dry-run
:
sudo rsync --dry-run -avP --remove-source-files --exclude '*.tmp' /media/nvme500/ /media/tankv1/mining/chia/
您会注意到我省略了--include '*.plot
;这是因为它已经包含在要传输的所有文件的默认集合中。如果您只想传输*.plot
文件,那么这是一个不同的要求,我们排除了除以下内容之外的所有内容:
sudo rsync --dry-run -avP --remove-source-files --include '*.plot' --include '*/' --exclude '*' --prune-empty-dirs /media/nvme500/ /media/tankv1/mining/chia/
最后说明一下:如果您要复制到 FAT 文件系统,则需要额外考虑以应对其功能的减少。