Синхронизация файлов и каталогов

nnbackup.exe sync -i c:\data -o d:\backup\data [options]
nnbackup.exe sync2 -i c:\data -o d:\backup\data [options]

Режим синхронизации каталогов - это режим, в котором nnBackup проверяет два указанных каталога на полную идентичность. Если в исходном каталоге появились новые файлы или какие-то файлы были изменены, то они копируются в приемный каталог. Если в приемном каталоге отсутствуют какие-то из файлов исходного каталога, то они тоже будут скопированы.

Основные преимущества синхронизации каталогов по сравнению с остальными способами резервного копирования:

Хочу особо отметить, что режим синхронизации каталогов можно использовать не только для резервного копирования данных: он пригодится при переносе или пересылке файлов с одного компьютера на другой или при синхронизации рабочих файлов в рамках рабочей группы.

Синхронизация может проводиться как в одну сторону (новые и измененные файлы копируются из исходного каталога в приемный - команда sync), так и в две стороны (сначала новые и измененные файлы копируются из исходного каталога в приемный, а затем, наоборот, из приемного каталога в исходный - команда sync2). Двунаправленная синхронизация бывает полезна, если файлы могут меняться в обоих синхронизируемых каталогах.

При использовании односторонней синхронизации пользователям предоставляется дополнительная (отключаемая) возможность удалять файлы в приемном каталоге, если они отсутствуют в исходном каталоге (опции -da, -delete-before) и даже файлы, подпавшие под исключаемую маску имен файлов -x (опция -delete-excluded).

При синхронизации каталогов вы можете указать в командной строке несколько исходных каталогов (опция -i):

nnbackup.exe sync -i c:\data -i c:\another_data -o d:\backup\data -s -v

Вы можете задать несколько исходных каталогов даже при использовании двунаправленная синхронизации (sync2), но в этом случае обязательно укажите в командной строке опцию -p, которая создает в приемном каталоге структуру каталогов, соответствующую полному пути файла в исходном каталоге. Это нужно для того, чтобы программа могла определить, из какого каталога был взят тот или иной файл:

nnbackup.exe sync2 -i c:\data -i c:\another_data -o d:\backup\data -p -s -v

Не забывайте, что в режимах sync/sync2 (как и в остальных режимах) вы можете тонко настраивать - какие именно файлы будут обработаны (т. е. синхронизированы). Для этого вы можете использовать, например, включающие и исключающие маски имен файлов (-m, -x) или фильтры по дате создания/последней модификации файла (-D, -DC, -DW), размеру файлов (-LT, -GT), атрибутам файлов (-a, -ax). Также у вас есть возможность "вручную" отобрать группу файлов, поместить ее в приемный каталог и указать, что хотите синхронизировать только эти файлы (опция -existing) или, наоборот, синхронизировать все файлы, кроме тех, что уже находятся в приемном каталоге (опция -ignore-existing). Соответственно, если указать обе эти опции одновременно (-existing -ignore-existing), то ни один файл синхронизирован не будет.

Иногда уже после проведения синхронизации каталогов вам может понадобиться вернуться к "изначальной" версии файла. Специально для таких случаев существует опция -backup <dir_path>, которая предписывает сохранять в указанный вами каталог резервные копии всех файлов, которые были перезаписаны в процессе синхронизации:

nnbackup.exe sync -i c:\data -o d:\backup\data -s -v -backup c:\temp

Несколько опций командной строки nnBackup предназначены специально для режима синхронизации файлов и каталогов: подробнее.

Обратите внимание, что при медленных сетевых подключениях и большом количестве файлов процесс синхронизации может проходить довольно долго. На медленных сетях вы можете попробовать разбить синхронизацию на два этапа: сначала скопировать в приемный каталог все изменившиеся файлы (режим copy с опциями -D, -DC, -DW), а затем удалить из приемного каталога все неактуальные файлы (режим delabsent).

Специальный синтаксис задания исходного и приемного каталога (-ip и -op) позволяет вам синхронизировать файлы между паками на вашем компьютере и мобильными устройствами, подключенными посредством ActiveSync (подробнее):

nnbackup.exe sync -i c:\books -op "\Documents\books\" -s -v

C помощью опции -nocopy вы можете протестировать, какой эффект возымеет составленная вами командная строка: nnBackup сымитирует синхронизацию каталогов, но физически файлы не будут ни скопированы, ни удалены:

nnbackup.exe sync -i c:\data  -o d:\backup\data -s -ad -da -v -nocopy

Примеры:

nnbackup.exe sync -i c:\data -o d:\backup\data -s -e -ad -v -log d:\log\nnbackup.log

Расшифровка: синхронизируем каталоги c:\data и d:\backup\data. При синхронизации учитываем все подкаталоги c:\data и выводим имена и полные пути файлов при копировании. Копируем пустые каталоги. Сохраняем информацию о сессии копирования в лог-файл d:\log\nnbackup.log

nnbackup.exe sync2 -i c:\data -o c:\another_data -s -e -ad -v -log d:\log\nnbackup.log

Расшифровка: то же самое, что и предыдущий пример, но производим двунаправленную синхронизацию - сначала копируем новые и измененные файлы из c:\data в c:\another_data и затем, наоборот: из c:\another_data в c:\data

nnbackup.exe sync -i c:\data -o d:\backup\data -s -e -ad -da -v -log d:\log\nnbackup.log

Расшифровка: синхронизируем каталоги c:\data и d:\backup\data. При синхронизации учитываем все подкаталоги c:\data и выводим имена и полные пути файлов при копировании. Удаляем в d:\backup\data файлы и каталоги, которые отсутствуют в c:\data. Копируем пустые каталоги. Сохраняем информацию о сессии копирования в лог-файл d:\log\nnbackup.log

nnbackup.exe sync -i c:\data -o d:\backup\data -s -e -ad -tc -md5 -da -v -log d:\log\nnbackup.log

Расшифровка: синхронизируем каталоги c:\data и d:\backup\data с учетом времени создания/изменения файла, размера файла и контрольных сумм. При синхронизации учитываем все подкаталоги c:\data и выводим имена и полные пути файлов при копировании. Удаляем в d:\backup\data файлы и каталоги, которые отсутствуют в c:\data. Копируем пустые каталоги. Сохраняем информацию о сессии копирования в лог-файл d:\log\nnbackup.log


См. также: