Команды nnBackup и опции командной строки



Команды nnBackup

copy
copyz
- резервное копирование. (Режим, установленный по умолчанию).
- резервное копирование с упаковкой в zip-файл.
ver
verz
- резервное копирование в стек пронумерованных каталогов.
- резервное копирование в стек пронумерованных zip-файлов.
sync
sync2
- синхронизация каталогов.
- двунаправленная синхронизация каталогов.
dump <num> - инкрементное резервное копирование. num - уровень дампа (0-9).
fill <num> - расфасовка информации на "порции" заданного объема. num - размер порции в байтах, килобайтах (K) или мегпабайтах (M).
delabsent - удаление неактуальных данных из резервной копии. (Удаление из приемного каталога всех файлов, отсутствующих в исходном каталоге).


Опции командной строки

Общие параметры

-i <from_path>

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

-o <to_path> - местоположение приемного каталога, т. е. каталога в который происходит резервное копирование
-ip <from_path> - местоположение исходного каталога при работе с мобильными устройствами через ActiveSync
-op <to_path> - местоположение приемного каталога при работе с мобильными устройствами через ActiveSync

-ini <[@]filename> - использовать указанный файл с настройками при запуске nnBackup. (По умолчанию используется backup.ini).
-f <[@]filename> - считывать параметры запуска nnBackup из указанного текстового файла
-nocopy - тестовый режим. nnBackup имитирует весь цикл работы (в соответствии с заданными опциями), но не производит физического копирования/удаления файлов. Используется, например, при отлаживании командной строки или при создании файл-листов (см. опцию -list).

-c - игнорировать возможные файловые ошибки при копировании
-cn <error_number> - номера ошибок, которые можно проигнорировать (в этом случае опцию использовать нельзя). Чтобы задать несколько номеров ошибок, укажите несколько опций -cn или используйте синтаксис @filename.
-tn <error_number> - номера ошибок при которых операция копирования должна быть прервана (при использовании опции ). Чтобы задать несколько номеров ошибок, укажите несколько опций -tn или используйте синтаксис @filename.
-ci - игнорировать ошибки входных данных (например, недоступность исходного или приемного каталога). Эту опцию удобно использовать при работе с сетью, когда сетевые ресурсы могут быть временно недоступны. Обратите внимание: опцию -ci следует указывать перед опциями -i/-o (а не после них).

-m masks

- включающая маска имен файлов: обрабатывать только файлы, подпадающие под указанную маску. При необходимости, в одной опции -m можно указывать несколько масок через запятую. Допустимо также указывать в командной строке несколько опций -m и использовать синтаксис @filename. Обратите, пожалуйста, внимание: если в созданной вами маске содержится символ '\' (обратный слеш), то она сравнивается не с именем файла, а с относительным путем, отсчитываемым от исходного каталога!

-x masks

- исключающая маска имен файлов: не обрабатывать файлы, подпадающие под указанную маску. При необходимости, в одной опции -x можно указывать несколько масок через запятую. Допустимо также указывать в командной строке несколько опций -x и использовать синтаксис @filename. Обратите, пожалуйста, внимание: если в созданной вами маске содержится символ '\' (обратный слеш), то она сравнивается не с именем файла, а с относительным путем, отсчитываемым от исходного каталога!

-dm masks

- включающая маска имен каталогов: обрабатывать только каталоги, подпадающие под указанную маску. При необходимости, в одной опции -dm можно указывать несколько масок через запятую. Допустимо также указывать в командной строке несколько опций -dm и использовать синтаксис @filename. Обратите, пожалуйста, внимание: если в созданной вами маске содержится символ '\' (обратный слеш), то она сравнивается не с именем каталога, а с относительным путем, отсчитываемым от исходного каталога!

-dx masks

- исключающая маска имен каталогов: не обрабатывать каталоги, подпадающие под указанную маску. При необходимости, в одной опции -dx можно указывать несколько масок через запятую. Допустимо также указывать в командной строке несколько опций -dx и использовать синтаксис @filename. Обратите, пожалуйста, внимание: если в созданной вами маске содержится символ '\' (обратный слеш), то она сравнивается не с именем каталога, а с относительным путем, отсчитываемым от исходного каталога!


-a {a|A|r|R|h|H|s|S|c|C|e|E|n|N}

- включающая маска атрибутов файла. Допустимо указывать в командной строке несколько опций . Таким образом, командная строка -a h -a s означает, что будут скопированы только файлы с атрибутами "скрытый" и "системный".

-ax {a|A|r|R|h|H|s|S|c|C|e|E|n|N}

- исключающая маска атрибутов файла. Допустимо указывать в командной строке несколько опций -аx. Таким образом, командная строка -ax h -ax s означает, что будут скопированы все файлы, кроме файлов с атрибутами "скрытый" и "системный".

Расшифровка параметров для опций -a и -ax:

a или A - FILE_ATTRIBUTE_ARCHIVE
h или H - FILE_ATTRIBUTE_HIDDEN
r или R - FILE_ATTRIBUTE_READONLY
s или S - FILE_ATTRIBUTE_SYSTEM
n или N - FILE_ATTRIBUTE_NORMAL
c или C - FILE_ATTRIBUTE_COMPRESSED
e или E - FILE_ATTRIBUTE_ENCRYPTED

-tda
-tda-
- по умолчанию, nnBackup проверяет атрибуты каталогов при копировании. Используйте опцию -tda-, если вы не хотите проверять атрибуты каталогов.

-LT <bytes>

- обрабатывать только файлы, чей размер (в байтах) меньше указанного. (Подробнее).

-GT <bytes>

- обрабатывать только файлы, чей размер (в байтах) больше указанного. (Подробнее).

-EQ <bytes>

- обрабатывать только файлы, чей размер (в байтах) равен указанному. (Подробнее).

-OR

- этот модификатор меняет логическое "И" на логическое "ИЛИ" для опций -LT, -GT и -EQ. (Подробнее).


-D <date>

- обрабатывать только файлы, которые изменились (или появились) со времени указанной даты: отбор файлов идет по дате создания и по дате последней модификации.

-DC <date>

- обрабатывать только файлы, появившиеся после указанной даты: отбор файлов идет по дате создания файла
-DW <date> - обрабатывать только файлы, изменившиеся со времени указанной даты: отбор файлов идет по дате последней модификации файла

-DLT <date>

- обрабатывать только файлы, которые были созданы ранее указанной даты и не изменялись с этой даты: отбор файлов идет по дате создания и по дате последней модификации.

-DCLT <date>

- обрабатывать только файлы, которые были созданы ранее указанной даты: отбор файлов идет по дате создания файла
-DWLT <date> - обрабатывать только файлы, не изменившиеся со времени указанной даты: отбор файлов идет по дате последней модификации файла

Дату для опций -D, -DC и -DW надо указывать в формате DD-MM-YYYY[/hh[:mm[:ss]]]. При этом вы можете использовать любые нецифровые символы в качестве разделителей полей, а значения часов, минут и секунд являются опциональными: вы можете не указывать из вовсе, либо указать только часы, либо только часы с минутами, либо часы с минутами и секундами. Вот несколько примеров, чтобы вы не запутались:

-D 5-12-2002
-D 05-12-2002
-D 05-12-2002/20:20
-D 05-12-2002/20:20:20
-D 05x12x2002:20-20
-D 05/12/2002:20-20-20

Допустимо использование синтаксиса @filename:

-D @date.txt
-D @another_date.txt


-RD <relative_date>

- обрабатывать только файлы, которые изменились (или появились) за послелние несколько дней, часов или минут. Отбор файлов идет по дате создания и по дате последней модификации.

-RDC <relative_date>

- обрабатывать только файлы, которые появились за послелние несколько дней, часов или минут. Отбор файлов идет по дате создания файла
-RDW <relative_date> - обрабатывать только файлы, которые изменились за послелние несколько дней, часов или минут. Отбор файлов идет по дате последней модификации файла

Относительную дату для опций -RD, -RDC и -RDW надо указывать в формате DD[/hh[:mm]]. Значения часов и минут являются опциональными: вы можете указывать только дни, или дни и часы, или дни, часы и минуты. Вот несколько примеров, чтобы вы не запутались:

-RD 05 (обрабатывать файлы, которые изменились/появились за последние 5 дней)
-RD 05/06 (обрабатывать файлы, которые изменились/появились за последние 5 дней и 6 часов)
-RD 00/08 (обрабатывать файлы, которые изменились/появились за последние 8 часов)
-RD 10/06:30 (обрабатывать файлы, которые изменились/появились за последние 10 дней, 6 часов и 30 минут)
-RD 00/00:30 (обрабатывать файлы, которые изменились/появились за последние 30 минут)
-RD 00/03:45 (обрабатывать файлы, которые изменились/появились за последние 3 часа и 45 минут)

Допустимо использование синтаксиса @filename:

-RD @date.txt
-RD @another_date.txt


-TD - Проверять время создания/модификации каталогов, вместе со временем создания/модификации файлов.

-s - учитывать вложенные каталоги при копировании, т. е. копировать файлы из исходного каталога и всех его подкаталогов
-e - копировать пустые каталоги
-sa - копировать права доступа. (Работает только на NTFS)
-A - cнимать атрибут файла 'archive' после копирования
-d - удалять скопированные файлы из исходного каталога. Удаляются только файлы, каталоги не удаляются. Опция -d работает во всех режимах кроме dump (в zip-файл) и verz.

-p - копируя файл в приемный каталог, создавать структуру каталогов, соответствующую полному пути файла в исходном каталоге. (Подробнее).
-p1, -p2, -p3, -p4
-pn <num>
- копируя файл в приемный каталог, создавать структуру каталогов, в соответствии с указанным уровнем вложенности каталогов. (Подробнее).

-flat - Собрать файлы из одного каталога, "дерева" каталогов или целого диска в указанный каталог. Таким образом можно избавиться от структуры вложенных подкаталогов. Обратите внимание: файлы с одинаковыми названиями будут перезаписаны без дополнительных запросов.

-list <[@]filename> - сохранять в указанный текстовой файл список всех скопированных файлов. Допустимо использование синтаксиса @filename. (По умолчанию, файлы заносятся в список с относительными путями).
-list2 <[@]filename> - сохранять в указанный текстовой файл список всех файлов, скопированных из приемного каталога в исходный при двусторонней синхронизации каталогов. Допустимо использование синтаксиса @filename. (По умолчанию, файлы заносятся в список с относительными путями).
-list3 <[@]filename> - сохранять в указанный текстовой файл список всех удаленных файлов и каталогов. Допустимо использование синтаксиса @filename. (По умолчанию, файлы заносятся в список с относительными путями).
-fp - сохранять в файл-лист полные (абсолютные) пути файлов и каталогов

Компрессия

-gz - использовать сжатие по алгоритму gzip. (Обратите внимание: существующие компрессионные библиотеки накладывают ограничение на размер создаваемого zip-архива - 2 гигабайта).
-zip - использовать сжатие по алгоритму zip. (Обратите внимание: существующие компрессионные библиотеки накладывают ограничение на размер создаваемого zip-архива - 2 гигабайта).
-pw password - пароль для создаваемого zip-файла. Возможность устанавливать пароль на создаваемые архивы сейчас находится в работе. Чтобы открыть запароленный архив используйте утилиту miniunz (возможны глюки с русскими именами файлов!).
-zx masks - маски файлов, не нуждающихся в сжатии. Допустимо использование синтаксиса @filename.
-zmin <num> - минимальный размер файла для сжатия (в байтах). Файлы меньшего размера не будут сжаты.
-zcomm "comment" - комментарий для создаваемого zip-файла.
-zl <num> - степень сжатия (0-9), по умолчанию - 5.
-zlf <zip-list-filename> - задать имя и местоположение списка обрабатываемых файлов для внешнего архиватора
-zleollf - испьзовать LF вместо CRLF при создании списка обрабатываемых файлов для внешнего архиватора (например, доя архиватора TAR)
-extzip <ArchiverName>

- используется в режимах copyz, verz и dump для вызова внешнего архиватора. Командная строка для архиватора настраивается с помощью переменной backup.ini ExtZip:.
Примеры командных строк с использованием опции -extzip:

nnbackup.exe copyz -i c:\data -i c:\another_data -o d:\backup\data -s -p -v -stats -extzip RAR
nnbackup.exe verz -n 7 -i c:\data -o d:\backup -s -x *.tmp -v -extzip 7z
nnbackup.exe dump 0 -i c:\data -i c:\another_data -o d:\backup\data -s -v -extzip 7z

Логирование

-v - отображать пути копируемых файлов (verbose mode).
Информация о копируемых файлах отображается на консоли (если не использована опция -q) и сохраняется в лог-файл (если использована опция -log).
-log <[@]filename>

- выводить сообщения в указанный лог-файл (см. также значение переменной bakup.ini Logtime:). Допустимо использование синтаксиса @filename.

-ll <num> - детализация вывода в лог-файл. Чем больше число num (0-9), тем подробнее вывод: 0 - критические сообщения об ошибках, 1 - критические ошибки + стандартные сообщения и т. д. Значение по умолчанию: 1.
-q

- запрет вывода сообщений на консоль (quiet mode).
Действие этой опции не затрагивает информацию, которая выводится в лог-файл (при использовании опции -log).

-tbeg <[@]filename>

- записывает в указанный файл время старта сессии резервного копирования. Допустимо использование синтаксиса @filename.

-tend <[@]filename>

- записывает в указанный файл время окончания сессии резервного копирования. Допустимо использование синтаксиса @filename.

Запуск внешних процессов

-rb "command line" - выполнить приложение перед запуском основного процесса. Допустимо использование синтаксиса @filename.
-dirb "dir" - установить текущий каталог для приложения, указанного в опции -rb. Допустимо использование синтаксиса @filename.
-pbs - запустить основной процесс только в том случае, если приложение, указанное в опции -rb, вернуло нулевой код возврата.
-ra "command line" - выполнить приложение сразу по окончании основного процесса. Допустимо использование синтаксиса @filename.
-dira "dir" - установить текущий каталог для приложения, указанного в опции -ra. Допустимо использование синтаксиса @filename.
-rps - выполнить приложение, указанное в опции -ra, только в случае успешного завершения основного процесса.

Прочие опции

-?
-h
- вывести подсказку.
-lang <language>

- задать язык сообщений на консоли и в лог-файле.

-hd <home-dir> - задать каталог, в котором nnBackup хранит свои конфигурационные (backup.ini), временные (dumpdates.txt, %ZIP-FILENAME%, %ZIP-FILELIST%) и лог-файлы.
-ddf <dumpdates-filename> - задать имя и местоположение файла с датами предыдущих сессий резервного копирования в режиме dump
-stat - выдает на консоль и в лог краткую статистику об общем количестве обработанных файлов/каталогов, а также об объеме скопированной информации (в байтах).

Опции для режима копирования в стек каталогов/zip-файлов (ver/verz)

-n N - глубина стека каталогов/zip-файлов. Если опция -n не задана, либо равна 0, стек каталогов не создается.
-sdn "string" - добавка к имени каталога/zip-файла. Если эта опция задана, стек каталогов/zip-файлов выглядит так: 1_string, 2_string ... N_string. Допустимо использование синтаксиса @filename.
-pc - сдвигать стек каталогов/zip-файлов, только если в исходном каталоге обнаружены изменения (файл изменён, добавлен, удалён)

Опции для режима синхронизации файлов и каталогов (sync/sync2)

-tc

- сравнивать при синхронизации не только время последней модификации файла, но и время его создания

-t2 - сравнивать время модификации файла с точностью до двух секунд (FAT time format). Без использования этой опции, при сравнении времени учитываются даже миллисекунды (NTFS time format).
Опцию -t2 целесообразно использовать для игнорирования мелких расхождений во времени модификации файла, которые появляются при его переносе с FAT на NTFS и наоборот.
-ts <время-в-секундах> - компенсировать разницу во времени между синхронизиуемыми файлами. В качестве аргумента для опции -ts можно указывать значения больше и меньше нуля. Опцию -ts целесообразно использовать для компенсирования разницы во времени (например, при использовании разных часовых поясов или переходе на летнее время:nnbackup.exe sync ... -ts +3600 или nnbackup.exe sync ... -ts -3600)
-ad

- копировать в приемный каталог не только все новые файлы из исходного каталога и все файлы с более "новой" датой создания или модификации, но и файлы, чья дата создания/модификации изменилась в противоположную сторону или не изменилась вовсе, но при этом изменились размер файла или права доступа (для обработки файлов с изменившимися правами доступа используйте обе опции: -ad и -sa).

-it - не сравнивать время создания/модификации файла при синхронизации. Обратите внимание, что опция -it автоматически включает в себя функциональность опции -ad.
-md5

- генерировать и сравнивать контрольные суммы файлов (md5) при синхронизации. Копировать файл, если суммы не совпали.

-existing - синхронизировать только те файлы, которые уже находятся в приемном каталоге.
-ignore-existing - синхронизировать все файлы кроме тех, которые уже находятся в приемном каталоге.
-da - удалять в приемном каталоге файлы, отсутствующие в исходном каталоге. Удаление происходит после завершения копирования новых и обновленных файлов, т. е. сначала копируются новые и обновленные файлы, потом удаляются отсутствующие файлы. Эта опция не работает при двунаправоенной синхронизации (sync2)!
-delete-before

- действовать аналогично опции -da, но сначала удалить в приемном каталоге файлы, отсутствующие в исходном каталоге и только затем приступить к копированию новых и обновленных файлов. Обратите внимание, что использование опции -delete-before автоматически включает и опцию -da.

-delete-excluded

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

-nd

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

-backup <dir_path>

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

Опции для режима инкрементного резервного копирования (dump)

-tc

- учитывать при инкрементном копировании не только время последней модификации файла, но и время его создания

-pw password - пароль для создаваемого zip-файла. Возможность устанавливать пароль на создаваемые архивы сейчас находится в работе. Чтобы открыть запароленный архив используйте утилиту miniunz (возможны глюки с русскими именами файлов!).
-nozip - не сжимать создаваемые дампы по алгоритму zip, а сохранять данные в каталоги с соответствующими именами.
-dn "string" - имя создаваемого дампа (zip-файла/каталога). По умолчанию - "%DumpLevel @%_%YYYY%-%MM%-%DD%". Допустимо использование синтаксиса @filename.
-dumple - позволяет создавать дампы с файлами, которые появились или изменились с момента создания последнего дампа, чей уровень меньше или равен текущему (less or equal). По умолчанию копируются файлы, которые появились или изменились с момента создания последнего дампа, чей уровень меньше текущего.

Опции для режима расфасовки информации на "порции" заданного объема (fill)

-cs <num>

- размер кластера в байтах. По умолчанию, это значение равно 2048 байтам, т. е. размеру кластера стандартного data CD.

-sl <num> - т. н. split level: уровень в дереве подкаталогов, с которого их не следует разбивать на отдельные порции, а копировать целиком. Уровень '0' - каталоги верхнего уровня, т. е. все подкаталоги, указанные в опции -i. Уровень '1' - подкаталоги, расположенные на один уровень ниже в дереве подкаталогов и т. д. Если суммарный размер подкаталога, подпадающего под воздействие опции split level окажется больше, чем заданный вами размер порции, то nnBackup прекратит расфасовку и выдаст на консоль предуперждение с указанием имени и суммарного размера каталога или каталогов, которые "не умещаются" в "порцию" указанного вами размера.

Опции для режима удаления неактуальных данных из резервной копии (delabsent)

-il <[@]filename>

- местоположение списка файлов, с которыми будет сравниваться содержимое приемного каталога. Все файлы, отсутствующие в указанном списке, будут удалены из приемного каталога. Физическое наличие файлов из списка не проверяется. Используется вместо опции -i.

-il- <[@]filename> - местоположение списка файлов, которые подлежат удалению из приемного каталога. Все файлы из списка, которые присутствуют в приемном каталоге будут удалены. Физическое наличие файлов из списка не проверяется. Используется вместо опции -i.

Примечание: если опция командной строки принимает какие-либо параметры в качестве аргументов, то с помощью синтаксиса @filename nnBackup может считывать эти параметры из указанного текстового файла. Например, можно считать из файла маски имен файлов (-m @masks.txt), список исходных каталогов (-i @input.txt), дату модификации файла (-D @date.txt) и т. д. Сохраняя параметры в текстовой файл, разделяйте их переводами строк. Этот вопрос рассмотрен подробнее в главе "Считывание параметров запуска из текстового файла".