Большие пальцы вверх для robocopy. Я использую его для выполнения тех вещей, которые вы упоминаете.
Например, я в настоящее время выполняю 5 сеансов robocopy на своем сервере, где я копирую около 60 ГБ файлов между 3 удаленными серверами, я подключен к двум через CheckPoint VPN, а другой - это сопоставление пространства Amazon S3 через JungleDisk.
Я работаю с коллегой на другом конце страны. Сегодня вечером он войдет на одни и те же серверы и запустит аналогичный набор командных файлов robocopy, чтобы загрузить все изменения, которые я сейчас загружаю.
Функция «убийца» - это то, что robocopy сохранит штампы даты и времени файла и по умолчанию будет копировать только те файлы, которые отличаются друг от друга. Таким образом, вы можете указать его на огромном дереве, и только измененные файлы будут скопированы.
Вот некоторые полезные советы для ведения такого рода вещи ...
/MIR
зеркала директории для дерева так будет удалено, а также добавить
/R:10
говорит Robocopy попробовать 10 раз, чтобы скопировать файл, прежде чем давать вверх. Значение по умолчанию - 1 000 000 раз.
/LOG+somefilename.log
добавит выход экрана в файл somefilename.log, создав его, если необходимо.
/XD dir1 dir2
проигнорирует любые копии, названные dir1 или dir2, в копии. Могут использоваться подстановочные знаки.
/FFT
будет использовать метки времени FAT, которые менее точны, чем NTFS (использует временную метку 2 с в метках времени). Я также считаю, что это полезно при копировании между файловыми системами Linux и NTFS.
Я обычно использую что-то вроде
robocopy d:\workdir y:\workdir /TEE /LOG+:d:\update.log /MIR /R:5
, который зеркало (/ MIR) D: \ Workdir с у: \ WorkDir, добавьте журнал о том, что он делает для d: \ Update.log (/ LOG + d: \ update.log), записывая вывод как на консоль, так и на файл журнала (/ TEE), и пробуйте каждый файл 5 раз, прежде чем переходить к следующему.
Он также работает с UNC-путями.
Если у вас есть большая коллекция файлов, требующих синхронизации на нескольких ПК, то robocopy - ваш друг.
Этот вопрос дико не соответствует теме, но осознайте, что в качестве одного из первых вопросов о StackOverflow он, вероятно, был задан до существования SuperUser и в то время рассматривался по теме. Вероятно, он должен быть защищен одной из этих исторических наклеек и оставлен в покое. – 2014-05-02 12:55:19