OS: Windows 7 x64 (HomePremium) CMD: >robocopy [source] [destination] -options

$ robocopy "C:\Users\itzme\AppData\Roaming\Mozilla\Firefox\Profiles\geo2eich.default" "E:\download\internet\firefox\geo2eich.default" /MIR /SEC

Я использую Robocopy в Windows для резервного копирования моих файлов / дисков. Проблема в том, что я получаю ошибки для мест назначения, которые используются в данный момент, например (примеры файлов, которые используются во время запланированного запуска, включают):

Foobar2000 (переносимый): _running -file

Firefox: parent.lock -file

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

Итак, мой вопрос, есть ли способ обойти файлы, которые не могут быть скопированы? Потому что в этой конкретной ситуации мне не нужно делать резервные копии этих «живых файлов», они не содержат каких-либо значимых данных, которые мне по крайней мере нужны в любом случае.

1 ответ1

2

Обязательно используйте параметры /R:<number of retry> и /W:<time before next retry> . Если пункт назначения, в который вы перемещаетесь, находится в сети или в нестабильном хранилище, вы можете увеличить время повторения и увеличить время ожидания. Однако я обнаружил, что обычные /R:1 и /W:1 в большинстве случаев работают нормально. Если вы не укажете эти параметры, повторная попытка по умолчанию будет 1 миллион, а время ожидания по умолчанию будет 30 секунд (святая корова!)

Я также был бы очень осторожен с параметром /MIR . Это сделает точную копию источника до места назначения. Если вы запустите эту команду во второй раз, а исходные файлы изменились, она создаст другую ТОЧНУЮ копию . Это становится проблемой, если вы удаляете файл из источника и хотите сохранить его в месте назначения (скажем, в истории резервных копий типов), параметр /MIR удалит файл из места назначения.

Лучше использовать опцию /E вместо /MIR . Он в основном делает то же самое, но сохраняет файлы в месте назначения, если они не перезаписаны.

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

Наконец, вы можете создать файл журнала для просмотра результатов после завершения команды. Первый вариант, создать новый файл журнала /LOG:<filename> , второй вариант, добавить в конец существующего файла журнала /LOG+:<filename>

Моя предлагаемая полная команда будет

robocopy "C:\Users\itzme\AppData\Roaming\Mozilla\Firefox\Profiles\geo2eich.default" "E:\download\internet\firefox\geo2eich.default" /E /R:1 /W:1 /SEC /SECFIX /LOG+:"C:\temp\robocopy.log"

Вот ссылка на полную документацию по Robocopy от MS: https://technet.microsoft.com/en-us/library/cc733145.aspx

Или в командной строке просто запустите robocopy /? и он выведет параметры. Сначала вывод выглядит немного устрашающе, но вскоре вы увидите, что он разбит на разделы, например, ПАРАМЕТРЫ КОПИРОВАНИЯ, ПАРАМЕТРЫ ПОВТОРА и т.д.

Удачи

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .