Как я могу сделать, чтобы robocopy продолжал пробовать, даже если есть ошибка 2 (файл не найден)?

395
Arvo Bowen

У меня есть скрипт, который запускается каждую ночь в целях резервного копирования. Суть сценария в том, что он создаст резервную копию БД, сожмет ее в файл 7zip, а затем скопирует в сетевую папку, которую я настроил.

Мой сценарий приводит к ошибкам со следующими результатами при использовании Robocopy для перемещения файла в сетевую папку, которая основана на облаке, поэтому он может стать недоступным в зависимости от Интернета.

02:29:32 Moving file... 02:29:32 Filename: MyBackup.7z 02:29:32 Src Folder: C:\SQLBackups\DBBackups\. 02:29:32 Dest Folder: \\myserver\database_backups 02:34:26 ------------------------------------------------------------------------------- 02:34:26 ROBOCOPY :: Robust File Copy for Windows  02:34:26 ------------------------------------------------------------------------------- 02:34:26 Started : Tuesday, October 30, 2018 2:29:32 AM 02:34:26 Source : C:\SQLBackups\DBBackups\ 02:34:26 Dest = \\myserver\database_backups\ 02:34:26 Files : MyBackup.7z 02:34:26  02:34:26 Options : /DCOPY:DA /COPY:DAT /MOV /NP /R:1000000 /W:30  02:34:26 ------------------------------------------------------------------------------ 02:34:26 1 C:\SQLBackups\DBBackups\ 02:34:26 New File 886.7 m MyBackup.7z 02:34:26 2018/10/30 02:33:56 ERROR 121 (0x00000079) Changing File Attributes C:\SQLBackups\DBBackups\MyBackup.7z 02:34:26 The semaphore timeout period has expired. 02:34:26 Waiting 30 seconds... Retrying... 02:34:26 New File 886.7 m MyBackup.7z 02:34:26 2018/10/30 02:34:26 ERROR 2 (0x00000002) Changing File Attributes C:\SQLBackups\DBBackups\MyBackup.7z 02:34:26 The system cannot find the file specified. 02:34:26 ------------------------------------------------------------------------------ 02:34:26 Total Copied Skipped Mismatch FAILED Extras 02:34:26 Dirs : 1 0 0 0 0 0 02:34:26 Files : 1 0 0 0 1 0 02:34:26 Bytes : 886.70 m 0 0 0 886.70 m 0 02:34:26 Times : 0:04:53 0:04:23 0:00:30 0:00:00 02:34:26 Ended : Tuesday, October 30, 2018 2:34:26 AM 02:34:26 ------------------------------------------------------------------------------- 02:34:26 Error moving file. 

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

По умолчанию в Robocopy заданы параметры повторов: 1 миллион раз и ожидание 30 секунд между каждой попыткой. Мой вопрос: почему мой сценарий пытается только дважды? Это из-за ERROR 2? Повторите ли это, только если эта конкретная ошибка не очевидна? Есть ли способ заставить Robocopy продолжать повторную попытку, даже если произошла ОШИБКА 2?

Я действительно думаю, что проблема в том, что интернет "гаснет" на некоторое время (возможно, даже час или два). Я просто хочу, чтобы Robocopy продолжал пытаться, пока соединение не восстановится.

0

0 ответов на вопрос

Похожие вопросы