从ext4同步到NTFS时仅显示更改的文件


9

我希望rsync打印修改过的和删除的文件。详细选项(-v)会打印已修改的文件,但也会打印子目录列表,这可能是因为触摸的目录被视为已修改。由于我同步了许多子目录中的许多文件,因此看不到实际的更改。

因此,有没有办法不使用rsync打印目录?

我不会寻找grep -v "*/$"答案,因为它还会排除新目录。

我正在使用的命令: rsync -avh --delete /media/data/src /media/data/bkp

并且每次打印所有目录的列表:

src/dir1/

src/dir1/sdir1/

src/dir1/sdir2/

src/dir2/

编辑:好的,经过一些严格的测试..从ext4分区同步到ext4以及从NTFS到NTFS同步时,它不会打印所有目录。它仅在从ext4同步到NTFS时起作用。而且选项-c还是--omit-dir-times不要更改。

Answers:


4

您可以尝试使用--omit-dir-timesswitch忽略目录时间(请看rsync手册页)。

我个人发现,使用-cswitch是确保输出中仅显示内容已更改的文件的最佳方法。

请注意,使用-c会降低rsync的速度。


谢谢回复。我发现很难相信它不是本机支持的,至少不会丢失性能(或选项)..我只需要相信它可以同步所有内容。
qox 2012年

抱歉,我的编辑在回答后改变了问题。
qox 2012年

1

除了更改安装类型,您还可以告诉rsync在复制到不支持的文件系统时忽略文件权限。以下命令对我有用。

从rsync手册页:

总结:要给目标文件(旧的和新的)源权限,请使用--perms。要为新文件提供目标默认权限(在不更改现有文件的情况下),请确保--perms选项处于关闭状态,并使用--chmod = ugo = rwX(可确保启用所有未屏蔽的位)。如果您想使后一种行为更易于键入,则可以为其定义一个popt别名,例如将该行放入〜/ .popt文件中(以下内容定义了-Z选项,并包括--no- g以使用目标目录的默认组):

rsync alias -Z --no-p --no-g --chmod=ugo=rwX

1

不要使用-a,它包含-p -o -g。


-a如果需要,您仍然可以使用,然后添加--no-o --no-p --no-g以忽略所有者,组和权限。
伊恩·邓恩

0

看起来这是一个权限问题。不知道为什么..但是我已经编辑了/ etc / fstab中的NTFS分区,它现在可以按预期工作,即不打印未修改的目录。

旧的fstab条目:ntfs-3g用户,默认值,exec,uid = 1000 0 0

新的fstab条目:ntfs-3g用户,默认值,exec,uid = 1000,gid = 1000,dmask = 077,fmask = 137 0 0

我猜(谁知道..)dmask = 077做到了the俩,即“ drwx ---”而不是“ drwxrwx”。


-1

我用了:

sudo rsync -auzhni --progress --omit-dir-times --no-o  src_dir/ dst_dir 

这是空运行(选项n)。删除该选项,以便rsync实际传输文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.