Резервное копирование в стек каталогов/zip-файлов

nnbackup.exe ver -n 3 -i c:\data -o d:\backup\data\ [options]
nnbackup.exe verz -n 3 -i c:\data -o d:\backup\data\ [options]

Это самый надежный режим резервного копирования. Он позволяет создавать неограниченное количество точных копий исходных данных, которые помещаются в пронумерованные каталоги (стек каталогов) или в пронумерованные zip-файлы (стек zip-файлов). Для копирования в стек каталогов используйте команду ver, а для копирования в стек zip-файлов используйте команду verz.

Вы сами выбираете глубину стека (например, N) - столько, сколько копий данных вы собираетесь хранить. Глубина стека задается в командной строке с помощью ключа -n. Каждая новая копия исходных данных помещается в каталог/zip-файл с соответствующим номером (от 1 до N), причем в каталоге/zip-файле с номером 1 хранится самая последняя (самая свежая) копия источника. Как только количество копий превысит указанное значение (N), самая старая копия автоматически удаляется. В каждый из пронумерованных каталогов/zip-файлов копируются все файлы из источника данных, в соответствии с заданными включающими и исключающими масками.

Используемая в nnBackup компрессионная библиотека (zlib) накладывает ограниечение на размер архива - 2 гигабайта. Если вы работаете с большими объемами данных, целесообразно вместо копирования в стек zip-файлов (verz) использовать копирование в стек каталогов (ver) или вызывать внешний архиватор с помощью опции -extzip.

Разберем все вышесказанное на примере: мы хотим ежедневно создавать резервную копию важных данных (каталога c:\data). При этом нам было бы удобно хранить семь копий каталога c:\data в каталоге d:\backup - по числу дней недели: это дает нам возможность в случае необходимости вернуть данные к тому состоянию в котором они были в любой из прошедших семи дней. Глубина стека каталогов в нашем случае равна семи. Воплотим это в командной строке:

nnbackup.exe ver -n 7 -i c:\data -o d:\backup -s -x *.tmp -v

Расшифровка: производить резервное копирование c:\data в в стек каталогов с глубиной стека = 7. Приемный каталог: d:\backup. Копировать файлы из вложенных каталогов. Не копировать файлы с расширением .tmp. Отображать на консоли имена копируемых файлов.

Мы будем запускать nnBackup с этой командой раз в день в течении недели: в понедельник, вторник и т. д. При первом запуске nnBackup будет создан каталог d:\backup\1 с копией данных из c:\data. При следующем запуске - каталог d:\backup\2 и т. д. Как только количество каталогов с резервными копиями данных превысит глубину стека каталогов, nnBackup станет удалять при запуске самый старый каталог (в нашем случае - 7). Таким образом, количество копий данных всегда будет равно глубине стека каталогов. В каталоге с номером 1 будет находиться самая "свежая" копия данных, а в каталоге с номером 7 будет находиться самая "древняя" копия (семидневной давности).

Если бы вместо команды ver в предыдущем примере мы использовали команду verz, то в приемном каталоге были бы созданы не пронумерованные подкаталоги, а пронумерованные zip-файлы: d:\backup\1.zip, d:\backup\2.zip ... d:\backup\7.zip.

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

nnbackup.exe ver -i c:\data -o d:\backup
nnbackup.exe ver -n 0 -i c:\data -o d:\backup

Повторюсь: приемный каталог очищается только при копировании в стек катлогов, если опция -n пропущена или выставлена в 0. При копировании в стек zip-файлов приемный каталог не очищается.

В режиме резервного копирования в стек каталогов/zip-файлов вы тоже можете указывать несколько исходных каталогов/файлов:

nnbackup.exe ver -n 7 -i c:\data -i c:\another_data -o d:\backup\data
nnbackup.exe verz -n 7 -i c:\data -i c:\another_data -o d:\backup\data

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

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

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

nnbackup.exe ver -n 7 -i c:\data -o d:\backup\data -v -nocopy

Примеры:

nnbackup.exe ver -i c:\data -o d:\backup\data -s -e -v

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

nnbackup.exe ver -i c:\data -o d:\backup\data -n 7 -m *.zip,*.rar,*.arj -s -v

Расшифровка: производим резервное копирование c:\data в стек каталогов с глубиной стека = 7, т. е. храним 7 копий данных. Пронумерованные копии данных помещаем в каталог d:\backup\data. Копируем только файлы с расширениями .zip, .rar и .arj. При копировании учитываем все подкаталоги c:\data и выводим имена и полные пути копируемых файлов.

nnbackup.exe ver -i c:\data -i c:\second_data -i c:\third_data -o d:\backup\data -n 7 -s -e -v 

Расшифровка: производим резервное копирование трех каталогов (c:\data, c:\second_data и c:\third_data) в стек каталогов с глубиной стека = 7, т. е. храним 7 копий данных. Пронумерованные копии данных помещаем в каталог d:\backup\data. При копировании учитываем все подкаталоги c:\data и выводим имена и полные пути копируемых файлов. Копируем пустые каталоги.

nnbackup.exe verz -i c:\data -i c:\second_data -i c:\third_data -o d:\backup\data -n 7 -s -e -v 

Расшифровка: то же самое, что и предыдущий пример, но теперь мы копируем данные не в стек каталогов, а в стек zip-файлов, т. е. вместо пронумерованных каталогов мы будем хранить в d:\backup\data семь пронумерованных zip-файлов с копиями данных.

nnbackup.exe verz -i c:\data -i c:\second_data -i c:\third_data -o d:\backup\data -n 7 -sdn "documents" -s -e -v 

Расшифровка: то же самое, что и предыдущий пример, но теперь мы задаем название для zip-файлов с копиями данных: 1_documents.zip, 2_documents.zip ... 7_documents.zip.


См. также: