53

Я пытаюсь развернуть сайт с моего рабочего стола на мой веб-сервер, и сейчас я делаю это:

 xcopy C:\source X:\destination /s

Мой рабочий стол - машина с Windows XP, и мне нужно скопировать на компьютер с Windows Server 2008, но это копирует все, и весь сайт очень большой, и на завершение копирования уходит очень много времени.

Есть ли способ специально просто скопировать новые или обновленные файлы? Я вижу, вы можете передать дату изменения, но я хотел посмотреть, есть ли более простой способ сравнения с целевым файлом ...

Кроме того, я открыт для использования чего-либо за пределами xcopy, которое также может выполнять эту работу ...

6 ответов6

92

Из документации XCOPY:

/d [: мм-дд-гггг]: копирует исходные файлы, измененные только после указанной даты. Если вы не укажете значение mm-dd-yyyy, xcopy скопирует все исходные файлы, которые новее существующих целевых файлов. Этот параметр командной строки позволяет обновлять файлы, которые были изменены.

Итак, на вашем примере это должно выглядеть так:

xcopy C:\source X:\destination /s /d
24

Робокопия также является хорошей альтернативой:

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

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

3

Используйте параметр /A. Для всех новых или измененных файлов будет установлен атрибут архива.

Проверьте ссылку ниже для деталей:

Синтаксис команды Xcopy и примеры

1

Есть Rsync, но я не использовал в Windows. Я обычно использую его в Linux:

rsync -avuz src/ remote:dst/

который только отправляет обновления (новые и измененные файлы).

1

У меня есть следующая задача, запланированная для ~ 80k файлов и ~ 2k папок:

xcopy \\sourceserver\share\ Q:\backuptarget\folder\ /i /d /y /he /C /EXCLUDE:C:\backup\list.txt > C:\backup\backup.log

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

«>» перезаписывает журнал каждый раз, если вы хотите добавить, вы можете использовать «>>».

-1

BitTorrent Sync работает великолепно. Он будет обновляться автоматически при каждом изменении файла. Пиринговый. Обновите несколько мест одновременно, если вам нужно. Легко использовать.

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