Запуск внешних процессов
Часто возникает необходимость запустить какой-то процесс прямо перед началом резервного копирования данных или, напротив, сразу после его окончания. Обычно такие процессы отвечают за поддержание актуальности данных или носят утилитарный характер - освобождают дисковое пространство, генерируют описания файлов, подготавливают данные к записи на CD-R и т. д.
nnBackup предоставляет возможность прямо в командной строке указать процесс, который должен быть запущен перед (опция -rb) или после (опция -ra) основной процедуры копирования файлов.
nnbackup.exe copy -i c:\data d:\backup\data -s -v -rb "d:\tools\index.exe -all" nnbackup.exe copy -i c:\data d:\backup\data -s -v -ra "d:\tools\clear.exe"
При необходимости, вы можете запустить соответствующие процессы и до и после копирования:
nnbackup.exe copy -i c:\data d:\backup\data -s -v -rb "d:\tools\index.exe -all" -ra "d:\tools\clear.exe"
С помощью опций -dirb и -dira можно установить для каждого из внешних процессов свою текущую директорию:
nnbackup.exe copy -i c:\data d:\backup\data -s -v -rb "d:\tools\index.exe -all" -dirb c:\data nnbackup.exe copy -i c:\data d:\backup\data -s -v -ra "d:\tools\clear.exe" -dira c:\data
Обрабатывать возникающие ошибки можно с помощью следующих опций:
-rps | - выполнить приложение, указанное в опции -ra, только в случае успешного завершения основного процесса |
-pbs | - запустить основной процесс только в том случае, если приложение, указанное в опции -rb, вернуло нулевой код возврата |
При активном использовании внешних процессов, командная строка с параметрами вызова nnBackup очень быстро "разрастается". Чтобы преодолеть это неудобство, вы можете сохранять параметры nnBackup в текстовой файл.
Пример:
nnbackup.exe sync -i c:\data -o d:\backup\data -s -v -e -rb "d:\toos\wget.exe -N -r -l5 http://www.nncron.ru" -dirb c:\data -pbs
Расшифровка: односторонняя синхронизация каталогов c:\data и d:\backup\data. При копировании учитываем все подкаталоги c:\data и выводим имена и полные пути копируемых файлов. Копируем пустые каталоги. Перед началом синхронизации запускаем дополнительный процесс (wget.exe) и ждем его завершения. Устанавливаем каталог c:\data в качестве текущего каталога для wget.exe. Выполняем синхронизацию только в случае, если процесс wget.exe завершился безошибчно.