我在cygwin下使用rsync在两台机器上同步我的音乐和图片文件夹。我可以完全控制Windows机器上的这两个文件夹,Linux机器上的权限通常是-rw -------,由我拥有。当我使用rsync -rvu --delete rsync://fraxtil@linuxmachine:/music/ /cygdrive/d/Music/
时,它会在D:\ Music \中创建文件和文件夹,但我没有权限访问它们,因此rsync无法递归到新创建的目录中。
我尝试在命令中添加--chmod=a+rwx,g+rwx,o+rwx
,将noacl
添加到cygwin的/ cygdrive /的fstab条目中,并从Linux的rsyncd.conf中删除read only = yes
,但这些都没有解决这个问题。
我的rsyncd.conf:
log file = /var/log/rsync.log
timeout = 300
[music]
comment = Music
path = /home/fraxtil/music
#read only = yes
list = yes
uid = fraxtil
gid = fraxtil
auth users = fraxtil
secrets file = /etc/rsyncd.secrets
[pictures]
(mostly the same as above)
cygwin的/ etc / fstab:
none /cygdrive cygdrive noacl,binary,posix=0,user 0 0
我注意到当我在cygwin下从bash浏览D:\时,大多数文件都有模式0200或0000.这可能与我的问题有关。然而,奇怪的是,新创建的文件具有模式0270,这是令人困惑的,因为那些是我无法访问的,但他们有更多的权限。
有什么想法吗?
答案 0 :(得分:2)
这最初是作为我原始问题的编辑发布的,但现在又存在另一个答案我需要接受一些东西来保持我的100%接受率:
我刚从rsync命令中删除了--chmod位,现在我再次拥有了适当的权限。我曾尝试过使用noacl的-chmod和没有使用acl的--chmod,但是还没有尝试使用noop的noch。 lattermost适合我。如果有人想解释为什么会发生这种情况,我会把它打开。
答案 1 :(得分:0)
感谢您的解决方案。 我被困在磁盘和USB磁盘之间的rsyncing。 rsync也在文件夹上创建了奇怪的NTFS权限。
添加--chmod = a + rwx,g + rwx,o + rwx允许我在本地进行rsync。 最后的命令是: rsync -rv --delete --exclude“Dropbox /” - chmod = a + rwx,g + rwx,o + rwx / cygdrive / d / source / cygdrive / h / destination