我有一个 Windows 7 Ultimate 系统,它映射了 Samba 3.0.33 共享。我可以从 Windows 文件资源管理器读取、写入或替换任何文件或目录,没有任何问题。我尝试使用 xcopy 在 Windows 客户端上设置推送/拉取同步脚本。我尝试在任一方向上替换比相应文件/目录更新的任何文件。从服务器到客户端的复制工作正常。从客户端到服务器的复制失败,并显示“访问被拒绝”(当目录已存在时 - 可以毫无问题地创建新目录)。
这是我的窗口脚本:
xcopy c:\source_dir z:\dest_dir /D /E /I /F /R /Y
xcopy z:\dest_dir c:\source_dir /D /E /I /F /R /Y
以下是我看到的第一个命令:
C:\Source_dir>xcopy c:\Source_dir\test z:\Dest_dir\test /E /I /F /R /Y
Access denied
Unable to create directory - Z:\Dest_dir\test
0 File(s) copied
相同的命令在连接到同一台服务器的 XP 系统上工作正常。我肯定遗漏了什么 - 知道是什么吗?
谢谢!
PS:我忘了提一下,如果该目录在服务器上尚不存在,则向服务器执行 xcopy 命令将会成功。
PPS:Robocopy 产生相同的结果。
答案1
我建议切换到 robocopy,因为xcopy /?
它说“注意:Xcopy 现已弃用,请使用 Robocopy。”
答案2
注意到新目录已成功备份,并且列出的所有者和组与旧目录和文件不同。通过更改所有者和组解决了我的 XP 到 Samba 共享权限问题。备份 xcopy 现在运行良好!
xcopy d:\mypict~1\* \\linuxserver\backups\homestud\mypictures /mschiy
正在给予
Access denied
Unable to create directory - \\linuxserver\backups\homestud\mypictures\2002
即使那里没有所需的文件。当我将 2002 目录 chmod 为 nobody 和 nogroup 时 - 它会跳过该目录错误!因此,我以递归方式重新应用了所有文件和文件夹。
答案3
确保您连接的帐户在服务器端有权限创建目录 Z:\Dest_dir\
mkdir z:\Dest_dir\test 会产生相同的结果吗?
如上所述,我会检查服务器端的权限。
答案4
我也遇到了这个问题(Win 7 和 8),robocopy
并xcopy
出现错误消息,表明无法创建文件夹,而通过资源管理器复制copy
仍然有效。
我可以通过使用以下配置选项来实现这一点:
force create mode
force directory mode
具体来说0774
,在我的设置中。显然,在使用时0775
权限出现了问题。这似乎表明存在某种配置问题,而且这种解决方案相当不分青红皂白,但这就是我现在能想到的全部方法。robocopy
xcopy
服务器是运行 Samba 4.1.6 的 FreeNAS 9.2.1.3