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

Robocopy тихо пропадает без файлов

Я использую Robocopy для синхронизации данных с жесткого диска нашего сервера на внешний диск в качестве резервной копии. Это довольно простое решение, но в значительной степени лучшее / самое простое, что мы могли придумать - мы используем два внешних диска и вращаем их вне офиса.

В любом случае, вот сценарий (с удаленными комментариями), который я использую для этого. Он работает очень хорошо, быстро и почти на 100% завершен - однако с несколькими файлами ведет себя довольно странно (обратите внимание, что название компании было изменено в путях для защиты невиновных):

@ECHO OFF
set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%

SET prefix="E:\backup_log-"

SET source_dir="M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER"


SET dest_dir="E:\dest"
SET log_fname=%prefix%%date:~-4,4%%date:~-10,2%%date:~-7,2%.log
SET what_to_copy=/COPY:DAT /MIR
SET options=/R:0 /W:0 /LOG+:%log_fname% /NFL /NDL

ROBOCOPY %source_dir% %dest_dir% %what_to_copy% %options%

set DATESTAMP=%DATE:~10,4%/%DATE:~4,2%/%DATE:~7,2% %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
cscript msg.vbs "Backup completed at %DATESTAMP% - Logs can be found on the E: drive."
:END

Обычно источником будет просто M: \ Comapany name data \, но я немного изменил сценарий, чтобы проверить проблему.

Следующие файлы в источнике не копируются в целевой:

Someclient\SONICP~1.DOC
Someclient\SONICP~2.DOC
Someclient\SONICP~3.DOC

Однако файлы в том же каталоге с именем:

ВРЕМЯ ~ 1.XLS ВРЕМЯ ~ 2.XLS

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

Нет никаких следов, что эти файлы даже пытались скопировать, так как в журнале или в моей командной строке нет ошибок.

Есть ли у кого-нибудь предложения относительно того, что это может быть? Поврежденный жесткий диск?

Привет, Джон.

Вы уверены, что у учетной записи, выполняющей роботизированное копирование, есть доступ для чтения к этим файлам? Может, кто-то редактировал разрешения всего на пару файлов ...

РЕДАКТИРОВАТЬ: перечитайте сообщение и поняли, что вы уже проверили разрешения.

Если вы хотите протестировать только эти файлы, почему бы не попробовать скопировать их вручную с помощью графического интерфейса? Если это сработает, просто запустите эту строку:

robocopy "M:\Company Names Data\Working Folder\_ADMIN_BACKUP_FILES\COMPA AANY Business Folder_Backup_040407\COMPANY_sales order register\BACKUP CLIENT FOLDERS & CURRENT JOBS pre 270404\CLIENT SALES ORDER REGISTER\<filename_that_isn't_working>" E:\dest

Начните с самых простых операций и добавляйте вещи обратно, пока не столкнетесь с проблемой.

Я бы попытался стереть этот конкретный каталог, а затем посмотреть, правильно ли записывается файл.

Также запустите chkdsk на внешнем диске.

И какова файловая система в целевой файловой системе и является ли она того же типа, что и исходная файловая система?

Возможно, вы столкнулись с максимальной длиной пути, которая, включая конечное имя файла, составляет всего 260 символов.

Раньше я сталкивался с подобными вещами с репозиториями Subversion, которые имеют глубокие каталоги и отлично работают в системах UNIX / Linux, но тогда люди в системах Windows не могут выполнить полную проверку, потому что некоторые пути слишком длинные.

Может быть, вы можете попробовать с параметром / Z

/ Z: копировать файлы в перезапускаемом режиме (выжить в сети).

Вы говорите, что ваш журнал не содержит какой-либо ценной информации, но вы попросили robocopy НЕ регистрировать имена файлов и каталогов: / NFL / NDL

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

/Икс Сообщает обо всех дополнительных файлах, а не только о выбранных
/ v Выводит подробный вывод и показывает все пропущенные файлы
/ fp Включает в вывод полные имена файлов.
/ np отключить индикатор выполнения

Чтобы решить вашу проблему, вы можете попробовать:
/ zb Использует режим перезапуска. Если доступ запрещен, этот параметр использует режим резервного копирования.

Если что-то не получается, попробуйте (я не помню, что делают эти варианты): /является Включает те же файлы
/Это Включает "доработанные" файлы