Назад | Перейти на главную страницу

Ошибка Robocopy 50 при доступе к целевому каталогу (запрос не поддерживается)

Я установил сценарий robocopy, который запускается ежедневно и синхронизирует данные из определенной папки на сервере хранения Windows Server 2016 с общим ресурсом SMB на QNAP NAS. 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. Если я вручную скопирую любую из папок, в которых возникла ошибка 50, в место назначения с помощью проводника Windows, они копируют нормально, но даже после этого ошибка 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

Я изо всех сил пытаюсь найти какую-либо информацию об ошибке 50 с точки зрения robocopy. Похоже, ошибка 50 связана с SMB. Похоже, что некоторые атрибуты или свойства этих конкретных папок не могут быть записаны в каталог QNAP. Я попытался удалить "А" (атрибуты) из /COPY переключатель, но это не помогло.

Мне удалось найти проблему. Похоже, это связано с тем, что общий ресурс QNAP не может обрабатывать определенные свойства / атрибуты папок безопасности этих папок. По умолчанию COPY и DCOPY значения:

/COPY:DAT /DCOPY:DA

Я предполагаю /E flag устанавливает их по умолчанию.

Атрибуты действительно кажутся проблемой, но в дополнение к этому DCOPY параметр также требует настройки.

/COPY:DT /DCOPY:T

Затем это исправляет ошибку robocopy 50, и папки, которые ранее выдавали ошибки, теперь могут быть правильно записаны в место назначения вместе с файлами внутри.

Странно, что это только начало появляться для относительно новых созданных папок, но, тем не менее, похоже, что это связано с атрибутами / свойствами. У нас есть смесь клиентов Windows / macOS, пишущих в источник, поэтому вполне могут быть конкретные метаданные macOS за этими каталогами, которые отбрасывают robocopy.

Если вам нужен доступ к сетевым ресурсам из задач планировщика задач, вам необходимо убедиться, что учетная запись пользователя имеет правильные привилегии для доступа к ресурсу.

Чтобы задача работала постоянно, выберите Run whether user is logged on or not и введите учетную запись пользователя + пароль для доступа к общему сетевому ресурсу. Не проверять Do not store password....

Ввод в заблуждение с запланированными задачами в Windows заключается в том, что когда вы запускаете их вручную, они всегда выполняются в контексте вашего текущего пользователя, независимо от того, что вы их настраиваете. Для тестирования вам необходимо временно настроить триггер в следующие минуты и запустить задачу автоматически.