Мне нужен бесплатный инструмент, похожий на rsync для Windows (очень желательно с какой-то дельта-кодировкой), который поддерживает синхронизацию списков ACL Windows и может копировать открытые файлы, возможно, через VSS / Shadow Volumes. (У меня на это нулевой бюджет, так как это разовый проект.)
Многие инструменты подходят близко, но терпят неудачу на одном или нескольких из этих аккаунтов. У меня нет проблем с многоэтапной процедурой, но я хочу избежать выполнения нескольких шагов синхронизации. То есть, я не хочу синхронизировать файлы и ACL отдельно, так как я не верю, что это не рассинхронизируется.
Я нашел инструмент, DISKSHADOW.EXE
, который является стандартным для Windows 2008 и позволяет мне создавать и монтировать теневую копию VSS, поэтому инструмента, который может выполнять дельта-обновления измененных файлов при поддержке списков ACL Windows, будет достаточно.
Сервер, на котором я работаю, - это Windows Server 2008 (не R2).
В частности, я был бы счастлив создать моментальный снимок VSS, смонтировать его как букву диска и выполнить синхронизацию оттуда, используя что-то вроде SyncToy, но я не могу найти способ смонтировать моментальный снимок VSS.
Shadowspawn для этого вам придется вызывать synctoy вручную или вызывать что-то еще, чтобы "буква диска" оставалась открытой, когда вы закончите. Это основано на хобокопия, на который тоже стоит обратить внимание.
Я бы предложил объединить это с robocopy (действительно ли копирование с учетом acl) или что-то не так SU вопрос - bvckup кажется, отвечает всем требованиям
Я только что нашел DISKSHADOW.EXE
, который, конечно же, входит в стандартную установку Windows 2008, поэтому мне даже не пришлось ничего устанавливать. (Почему вы находите вещи только после того, как спросите кого-то другого?)
Я использую его вместе с SyncToy прямо сейчас (который, к сожалению, не имеет каких-либо функций дельта-кодирования). Кажется даже, что весь процесс может быть скриптовым. На самом деле это не имеет большого значения для моего конкретного проекта, но в целом приятно.
Я вернусь и обновлю этот ответ, если все пойдет хорошо.
Обновление: в итоге я использовал DISKSHADOW
и SyncToy (хотя SyncToy ничем не лучше, чем RoboCopy или что-то еще, поскольку он не выполняет дельт). Все шло нормально, пока я не столкнулся с проблемой, когда SyncToy не копировал файл, к которому у пользователя-администратора, которого я использовал, не было доступа. Он действительно должен был справиться с этим. Это также заняло слишком много времени, так как ему приходилось копировать полный файл размером 20 с чем-то ГБ вместо простого копирования изменений.
Bvckup, упомянутый в ответе JourneymanGeek, кажется, что это должен быть более правильный ответ. Сейчас я использую его для другого, но похожего проекта.
Я удивлен, что никто не упомянул DFSR все же. Он встроен в ОС, выполняет дельта-копии через RDC (удаленное дифференциальное сжатие) и отлично работает с VSS. У вас также есть детальный контроль над тем, какие типы файлов копируются / игнорируются, а также над расписанием репликации и использованием полосы пропускания.
Мы используем Total Commander все время: старый интерфейс, похожий на интерфейс Norton Commander, сравнивает файлы по дате, содержимому и т. д. Рекурсивно. Поддерживает копирование разрешений NTFS.
Условно-бесплатная.
Либо Robocopy, либо Teracopy сделают свое дело.
Synctoy кажется довольно недооцененным. Он использует VSS, хотя не уверен в дельта-кодировании. Он может запускаться из командной строки.
Изменить: не читал все это. Вам не нужно монтировать VSS Snapshot, поскольку Synctoy может использовать VSS изначально.
А как насчет DeltaCopy? http://forums.aboutmyx.com/forums/posts/list/73.page
Единственный другой инструмент рядом с rsync - это унисон