Windows

Robocopy 錯誤 50 訪問目標目錄(不支持請求)

  • January 17, 2018

我設置了一個每天執行的 robocopy 腳本,並將數據從 Windows Server 2016 儲存伺服器上的特定文件夾同步到 QNAP NAS 上的 SMB 共享。Windows Server 已通過域身份驗證,而 QNAP 使用獨立使用者登錄。在此處理的腳本net use中,伺服器使用正確的憑據映射 QNAP 共享,而不是嘗試假定或在計劃任務使用者下執行。

net use \\QNAP\share /USER:<user> "<password>"

我已經確認伺服器可以在像這樣映射時讀取/寫入共享。

在將腳本/參數設置為通過任務計劃程序自動執行之前手動執行第一次同步以確認腳本/參數是好的,在日誌中的幾個目錄(各種不同的位置)上報告了以下錯誤。下面是一個範例錯誤,路徑已修改。

2018/01/12 06:38:16 ERROR 50 (0x00000032) Accessing Destination
Directory \\QNAP\share\example folder\something The request is not supported.

每次執行 robocopy 時,都會在相同的文件夾上發生這種情況。如果我使用 Windows 資源管理器手動將任何引發錯誤 50 的文件夾複製到目標位置,它們會很好地複制,但即使這樣做,錯誤 50 仍會記錄在相同位置。該錯誤似乎在文件夾級別,而不是特定文件。

我正在使用以下 robocopy 參數。

robocopy D:\local\folder \\QNAP\share\example folder /e /zb /fft /DCOPY:DA /COPY:DAT /r:0 /w:0 /XJ /XD RECYCLER .TemporaryItems /XF Thumbs.db ~* ._* *.inf .DS_Store /log+:D:\backuplog.txt /NFL /NDL

從 robocopy 的角度來看,我正在努力尋找有關錯誤 50 的任何資訊。看起來錯誤 50 與 SMB 相關。似乎與這些特定文件夾的某些屬性或屬性無法寫入 QNAP 目錄有關。我嘗試從/COPY開關中刪除“A”(屬性),但這沒有幫助。

我設法找到了問題所在。看起來它與無法處理這些文件夾的某些安全文件夾屬性/屬性的 QNAP 共享有關。預設情況下,COPYDCOPY值為:

/COPY:DAT /DCOPY:DA

我假設/E標誌預設設置這些。

屬性似乎確實是個問題,但除此之外,DCOPY參數還需要調整。

/COPY:DT /DCOPY:T

然後,這修復了 robocopy 錯誤 50,並且以前拋出錯誤的文件夾現在可以與其中的文件一起正確寫入目標。

奇怪的是,這只開始出現在創建的相對較新的文件夾中,但它看起來仍然與屬性/屬性有關。我們有混合的 Windows/macOS 客戶端寫入源,因此很可能是這些目錄後面的特定 macOS 元數據一直在拋出 robocopy。

引用自:https://serverfault.com/questions/892031