Ежедневный бэкап + ограниченние на кол-во архивов

Обсуждение программы nnBackup

Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nthnsq » Thu, 24 Dec 2009, 14:15

Подскажите, может есть где готовый пример с описанием:
- копировать все файлы в структуре каталогов с исключением по маске (это нашел в хелпе)
- после копирования - архивация с последующим удалением п.1
- имя архива должно быть с префиксом номера дня недели, в какое он выполнен (1,2,3,4,5,6,7)
- если номер дня недели совпадает с существующим архивом, архив - удалить, на его место - новый с тем же именем.
В общем - обычное резервное копирование баз 1С, которые находятся а одном каталоге на соседнем сервере, этот каталог подключен, как сетевой диск.
Не хочется для такой простой операции тратить кучу времени на изучение всего мануала - надо сделать все до вечера.
Nthnsq
 
Posts: 25
Joined: Fri, 18 Dec 2009, 12:41

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Mon, 08 Mar 2010, 10:05

А нельзя делать бэкапы со временной меткой? например так:
Code: Select all
YYYY.MM.DD-backup_name.zip
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Tue, 09 Mar 2010, 08:06

Создал батник с папке с программой:
Code: Select all
nnbackup.exe verz -n 6 -i C:\SHARE\NEW -o M:\ARCHIVE\FOXPRO\%YYYY%\%MM% -x *.tmp, *.bak -dx "NC", "WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR


Выдает ошибку:
Image

Подскажите, где и что я неправильно сделал?
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby elos » Tue, 09 Mar 2010, 09:11

Первое, что бросается в глаза - несоответствие командной строки скриншоту для ключа -extzip

Фиксируемся на самой командной строке - убери пока пробелы после запятых в ключе -x. Анализатор командной строки nnbackup ведь явно ориентируется на пробел при разборе ключей, а запятую использует для разбора параметров.

Запусти rar.exe в консоли. Если ругнется - пропиши архиватору путь в переменной PATH (как и для всех более-менее часто используемых консольных утилит): WIN+Break -> Дополнительно -> Переменные среды -> Системные переменные -> PATH .

А вот после этого и будем смотреть дальше...
elos
 
Posts: 665
Joined: Tue, 25 Apr 2006, 11:15

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Tue, 09 Mar 2010, 17:17

elos wrote:Запусти rar.exe в консоли. Если ругнется - пропиши архиватору путь в переменной PATH (как и для всех более-менее часто используемых консольных утилит): WIN+Break -> Дополнительно -> Переменные среды -> Системные переменные -> PATH .

У меня в значении переменной PATH уже стояло:
Code: Select all
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Я дописал:
Code: Select all
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\WinRAR\Rar.exe

Image
Правильно ли?
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Tue, 09 Mar 2010, 17:35

Все понял, правильно будет так:
Code: Select all
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\WinRAR\
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Tue, 09 Mar 2010, 17:57

elos wrote:А вот после этого и будем смотреть дальше...

Все, исправил те ошибки которые вы указали...
Code: Select all
nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\%YYYY%\%MM% -x *.tmp,*.bak -dx "NC","WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR

Но все равно выдает ошибку:
Image
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby elos » Tue, 09 Mar 2010, 22:33

писал-писал - сбросило OPERA-у, поэтому буду краток и идем от упрощенных строк к усложнению
Во-первых, уже должна существовать папка назначения! иначе имеем что-то типа
Code: Select all
C:\>nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\  -s -v -p -extzip RAR
nnBackup. V 3.01 RC8 Build 136 2008-12-23 22:09
Copyright (C) 2001-2010 nnSoft. nemtsev@nncron.ru
Зарегистрирован только для некоммерческого использования
Registered for non-commercial use only
Tu 2010.03.09 20:54:07 Start backup
Tu 2010.03.09 20:54:07 c:\Temp\New\1.tmp
Tu 2010.03.09 20:54:07 c:\Temp\New\1.txt
Tu 2010.03.09 20:54:07 c:\Temp\New\2.bak
Tu 2010.03.09 20:54:07 c:\Temp\New\2.doc
Tu 2010.03.09 20:54:07 RUN: rar.exe a -inul "c:\backup\1.rar" "@C:\nnBackup\\etc\zip-list-26820.txt"
Tu 2010.03.09 20:54:07 EXIT CODE:  9
Tu 2010.03.09 20:54:07 External archiver return code is 9
Tu 2010.03.09 20:54:07 ERROR: Error of external archiver
создаём дополнительные папки и набиваем их теми же файлами
Code: Select all
C:\temp\NEW>nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -x *.tmp,*.bak -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR
nnBackup. V 3.01 RC8 Build 136 2008-12-23 22:09
Copyright (C) 2001-2010 nnSoft. nemtsev@nncron.ru
Зарегистрирован только для некоммерческого использования
Registered for non-commercial use only
Tu 2010.03.09 21:05:47 Start backup
Tu 2010.03.09 21:05:47 c:\Temp\New\1.txt
Tu 2010.03.09 21:05:47 c:\Temp\New\2.doc
Tu 2010.03.09 21:05:47 c:\Temp\New\ELOS\1.txt
Tu 2010.03.09 21:05:47 c:\Temp\New\ELOS\2.doc
Tu 2010.03.09 21:05:47 c:\Temp\New\NC\1.txt
Tu 2010.03.09 21:05:47 c:\Temp\New\NC\2.doc
Tu 2010.03.09 21:05:47 c:\Temp\New\WORK_NEW\1.txt
Tu 2010.03.09 21:05:47 c:\Temp\New\WORK_NEW\2.doc
Tu 2010.03.09 21:05:47 RUN: rar.exe a -inul "c:\backup\1_2010_03_09.rar" "@C:\nnBackup\\etc\zip-list-5728.txt"
Tu 2010.03.09 21:05:47 External archiver return code is 0
Tu 2010.03.09 21:05:47 Stop backup
видно, что маска ФАЙЛОВ отработала
добавляем исключающую маску папок
Code: Select all
C:\BACKUP>nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -x *.tmp,*.bak -dx "NC","WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR
Tu 2010.03.09 21:10:32 ERROR: Invalid command line parameter (-2003 : )

вот и обнаружили!
кстати, в spf.err (nnbackup создан же на SPF) имеем
"-2003 WORD OR FILE NOT FOUND"

опуская промежуточные попытки - убираем маску файлов, оставив только маску папок, плюс, уберём одну из исключаемых папок
Code: Select all
C:\BACKUP>nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -dx "c:\Temp\New\NC" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR

nnBackup. V 3.01 RC8 Build 136 2008-12-23 22:09
Copyright (C) 2001-2010 nnSoft. nemtsev@nncron.ru
Зарегистрирован только для некоммерческого использования
Registered for non-commercial use only
Tu 2010.03.09 21:47:15 Start backup
Tu 2010.03.09 21:47:15 c:\Temp\New\1.tmp
Tu 2010.03.09 21:47:15 c:\Temp\New\1.txt
Tu 2010.03.09 21:47:15 c:\Temp\New\2.bak
Tu 2010.03.09 21:47:15 c:\Temp\New\2.doc
Tu 2010.03.09 21:47:15 c:\Temp\New\ELOS\1.tmp
Tu 2010.03.09 21:47:15 c:\Temp\New\ELOS\1.txt
Tu 2010.03.09 21:47:15 c:\Temp\New\ELOS\2.bak
Tu 2010.03.09 21:47:15 c:\Temp\New\ELOS\2.doc
Tu 2010.03.09 21:47:15 c:\Temp\New\NC\1.tmp
Tu 2010.03.09 21:47:15 c:\Temp\New\NC\1.txt
Tu 2010.03.09 21:47:15 c:\Temp\New\NC\2.bak
Tu 2010.03.09 21:47:15 c:\Temp\New\NC\2.doc
Tu 2010.03.09 21:47:15 c:\Temp\New\WORK_NEW\1.tmp
Tu 2010.03.09 21:47:15 c:\Temp\New\WORK_NEW\1.txt
Tu 2010.03.09 21:47:15 c:\Temp\New\WORK_NEW\2.bak
Tu 2010.03.09 21:47:15 c:\Temp\New\WORK_NEW\2.doc
Tu 2010.03.09 21:47:15 RUN: rar.exe a -inul "c:\backup\1_2010_03_09.rar" "@C:\nnBackup\\etc\zip-list-2640.txt"
Tu 2010.03.09 21:47:15 External archiver return code is 0
Tu 2010.03.09 21:47:15 Stop backup
толку никакого - архив создаётся, но исключаемые папки копируются всё равно
как задать пути для -dx - до меня пока не дошло. Или проблема в данной версии... Кто разубедит? Остальное то работоспособно!
elos
 
Posts: 665
Joined: Tue, 25 Apr 2006, 11:15

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Wed, 10 Mar 2010, 06:40

elos wrote:толку никакого - архив создаётся, но исключаемые папки копируются всё равно
как задать пути для -dx - до меня пока не дошло. Или проблема в данной версии... Кто разубедит? Остальное то работоспособно!

Решение по маскам нашел в мануале, маска должна задаваться в одних кавычках:
Code: Select all
-dx "NC,WORK_NEW"

Но теперь нарисовался ряд других проблем:
  1. почему то архивы не хотят раскладываться по каталогам (даже если необходимые каталоги созданы)
    Code: Select all
    \%YYYY%\%MM%
  2. таже проблема с переменными %YYYY%, %MM%, %DD%, когда хочу добавить к имени архива год, месяц, число
    Code: Select all
    -sdn "%YYYY%_%MM%_%DD%"
  3. проблема с переменной -extzip RAR, не хочет, начинать архивирование выдает ту же ошибку (без этой переменной батник работает, в переменные среды путь до архива прописал):
    Code: Select all
    Tu 2010.03.10 09:35:15 ERROR: Invalid command line parameter (-2003 : )
На данный момент батник выглядит так:
Code: Select all
nnbackup.exe verz -n 6 -i C:\SHARE\NEW -o M:\ARCHIVE\FOXPRO\%YYYY%\%MM% -x *.tmp,*.bak -dx "NC,WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p1 -extzip RAR
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Wed, 10 Mar 2010, 12:17

В принципе первую проблему можно отбросить, это не критично. Вторая проблема решена созданием задания в планировщике заданий со следующим содержимым:
Code: Select all
"C:\Program Files\nnBackup\nnbackup.exe" verz -n 6 -i F:\NEW -o M:\ARCHIVE\FOXPRO -x *.tmp,*.bak -dx "NC,WORK_NEW" -sdn "data-%YYYY%-%MM%-%DD%" -s -v -p1

Теперь осталась решить третью проблему...

З.Ы. И все же непонятно почему в батнике не пашут переменные %YYYY%, %MM%, %DD%???
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby elos » Wed, 10 Mar 2010, 22:17

Возвращаемся к первому посту темы и начинаем сначала...
- копировать все файлы в структуре каталогов с исключением по маске (это нашел в хелпе)

меня строка тестовая полностью удовлетворяет (акцентирую - все делалось руками из командной строки)
Code: Select all
nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -x *.tmp,*.bak -dx "NC,WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR
по целому ряду причин (по которым у тебя вопросы). Запускаем шесть раз с задержкой в минуты строку и потом еще разок
Code: Select all
 Том в устройстве C имеет метку SYSTEM
 Серийный номер тома: 0444-967C

 Содержимое папки C:\BACKUP

10.03.2010  20:39    <DIR>          .
10.03.2010  20:39    <DIR>          ..
10.03.2010  20:39               241 1_2010_03_10.rar
10.03.2010  20:38               241 2_2010_03_10.rar
10.03.2010  20:37               241 3_2010_03_10.rar
10.03.2010  20:35               241 4_2010_03_10.rar
10.03.2010  20:34               241 5_2010_03_10.rar
10.03.2010  20:32               241 6_2010_03_10.rar
10.03.2010  20:39                 0 dir.txt
               7 файлов          1 446 байт
               2 папок   5 109 534 720 байт свободно

Code: Select all
Том в устройстве C имеет метку SYSTEM
 Серийный номер тома: 0444-967C

 Содержимое папки C:\BACKUP

10.03.2010  20:52    <DIR>          .
10.03.2010  20:52    <DIR>          ..
10.03.2010  20:52               241 1_2010_03_10.rar
10.03.2010  20:39               241 2_2010_03_10.rar
10.03.2010  20:38               241 3_2010_03_10.rar
10.03.2010  20:37               241 4_2010_03_10.rar
10.03.2010  20:35               241 5_2010_03_10.rar
10.03.2010  20:34               241 6_2010_03_10.rar
10.03.2010  20:52                 0 dir.txt
10.03.2010  20:39               653 dir1.txt
               8 файлов          2 099 байт
               2 папок   5 099 528 192 байт свободно
Видно, что и ключ -sdn отрабатывает, и 6 (ШЕСТЬ) файлов архивов создаются и сдвигаются (последний имеет номер 1). Скажи мне, пожалуйста - зачем тебе в имя архива цифры года и месяца? Идеология команды verz - создание сдвигающегося стека нумерованных файлов-архивов

хотелки номер два и три:
- после копирования - архивация с последующим удалением п.1
- имя архива должно быть с префиксом номера дня недели, в какое он выполнен (1,2,3,4,5,6,7)

На случай префикса дня недели - используем ver с уровнем 7 (по дням недели)
Я бы из nncron стартовал через START-APP командную строку для rar с ключами архивации и последующего удаления информации, а необходимые папки назначения и имена архивов формировал бы в в этой строке с помощью предопределённых переменных nncron (общих же и для nnbackup). Этим я сразу же отвечу на вопрос, почему из батника сбоят %YYYY% и тому подобные... Для батника, вернее для командного интерпретатора cmd %YYYY% будет являться переменной среды Windows (которые, вообще-то, задаются через set командного интерпретатора...), которых то и нет ещё. Так что надо понимать в какой момент что и чем используется...
- если номер дня недели совпадает с существующим архивом, архив - удалить, на его место - новый с тем же именем.
Если делать как выше - архив просто перезапишется.
В общем - обычное резервное копирование баз 1С, которые находятся а одном каталоге на соседнем сервере, этот каталог подключен, как сетевой диск.
А разве не имеет своих встроенных средств резервирования, которые будут работать более правильно, с учетом работающих пользователей и логики работы самой базы (файлы там подзакроет на время бекапа или ещё что...)

Вернёмся к последнему посту:
почему то архивы не хотят раскладываться по каталогам (даже если необходимые каталоги созданы)

А с какого перепуга? Ты в течение месяца хоть каждую минуту делай архивирование - всё равно будешь иметь 6 архивов согласно своей командной строке! При этом в папке этого месяца.

та же проблема с переменными %YYYY%, %MM%, %DD%, когда хочу добавить к имени архива год, месяц, число
Code: Select all
-sdn "%YYYY%_%MM%_%DD%"

У меня таких проблем нет! Правда при запуске из командной строки ручками. Хоть и cmd в этот момент работает, но переменные берутся от nnbackup-а. А вот при батнике - переменные ищутся в виндовом окружении.
проблема с переменной -extzip RAR, не хочет, начинать архивирование выдает ту же ошибку (без этой переменной батник работает, в переменные среды путь до архива прописал):
Code: Select all
Tu 2010.03.10 09:35:15 ERROR: Invalid command line parameter (-2003 : )

Но у меня то архивирует (смотрим мой пост выше - там архиватор код ошибки возвращает 0, то есть всё в порядке, архивировалось)... комп после внесения в PATH пути архиватора перегружался?

Теперь конечный вывод: на мой взгляд, твоё желание иметь в имени архивов даты немного расходится с идеологией команды verz. Может тебе ver нужна? Или просто rar.exe с соответствующими ключами. Надо бы на чём-то одном остановиться, а то лебедь, рак и щука вспоминаются... А базу я бы бекапил её средствами - надёжнее. За сим заканчиваю.

на всякий случай мой backup.ini
Code: Select all
\ nnBackup ini-file
HomeDir: "%NNBACKUP-DIR%"
Language: English
Logtime: "%WW% %DD%.%MMM%.%YYYY% %hh%:%mm%"
LogFile: "%HOME-DIR%\log\nnbackup.log"
DumpDatesFile: "%HOME-DIR%\etc\dumpdates.txt"
ZipListFile: "%HOME-DIR%\etc\zip-list-%GetCurrentProcessId%.txt"
Quiet OFF
SubTree OFF
Verbose OFF
CopyAccessRights OFF
DelAbsent OFF
DelAbsentDir ON
AnyDifference OFF
IgnoreErrors OFF
CopyEmptyDirs OFF
KeepPath OFF
PushChanged OFF
TwoSecondsPrecision OFF
DumpLevelLE OFF
NeedStatistic OFF
ClearArchiveAttribute OFF
TestDirAttrib ON
TestDirTime OFF

ExtZip: 7z 65001 7z.exe a -scsUTF-8 -r "%ZIP-FILENAME%" "@%ZIP-LIST%"
ExtZip: RAR 1 rar.exe a %Verbose @ ?S" -inul"% "%ZIP-FILENAME%" "@%ZIP-LIST%"
ExtZip: TAR 0 tar.exe -c --files-from="%ZIP-LIST%" -f "%ZIP-FILENAME%"
elos
 
Posts: 665
Joined: Tue, 25 Apr 2006, 11:15

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby Nigelist » Thu, 11 Mar 2010, 11:11

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

elos wrote:Видно, что и ключ -sdn отрабатывает, и 6 (ШЕСТЬ) файлов архивов создаются и сдвигаются (последний имеет номер 1). Скажи мне, пожалуйста - зачем тебе в имя архива цифры года и месяца? Идеология команды verz - создание сдвигающегося стека нумерованных файлов-архивов
Временная метка как, я уже говорил у меня на данный момент работает. А нужна временная метка мне потому, что я не единственный кто будет пользоваться этими бэкапами. Так сказать для особоодаренных... :wink:

elos wrote:На случай префикса дня недели - используем ver с уровнем 7 (по дням недели)
Я бы из nncron стартовал через START-APP командную строку для rar с ключами архивации и последующего удаления информации, а необходимые папки назначения и имена архивов формировал бы в в этой строке с помощью предопределённых переменных nncron (общих же и для nnbackup). Этим я сразу же отвечу на вопрос, почему из батника сбоят %YYYY% и тому подобные... Для батника, вернее для командного интерпретатора cmd %YYYY% будет являться переменной среды Windows (которые, вообще-то, задаются через set командного интерпретатора...), которых то и нет ещё. Так что надо понимать в какой момент что и чем используется...
А можно подробнее, можно ли с помощью nncron и winrar настроить архивацию так?
  1. архивирование с максимальным уплотнением;
  2. добавление информации для восстановления;
  3. ограничение на кол-во архивов;
  4. Задание временной метки в имени создаваемых архивов;
  5. исключающая маска по файлам и папкам.
И еще о переменных среды Windows, как их можно добавлять? Мне бы хотелось добавить свои переменные...
elos wrote:Вернёмся к последнему посту:
почему то архивы не хотят раскладываться по каталогам (даже если необходимые каталоги созданы)

А с какого перепуга? Ты в течение месяца хоть каждую минуту делай архивирование - всё равно будешь иметь 6 архивов согласно своей командной строке! При этом в папке этого месяца.
Вообще то, мне это нужно было для создания контрольных архивов, которые будут хранится долгое время... Но как вы уже писали попробую это дело с командой ver...

elos wrote:
та же проблема с переменными %YYYY%, %MM%, %DD%, когда хочу добавить к имени архива год, месяц, число
Code: Select all
-sdn "%YYYY%_%MM%_%DD%"

У меня таких проблем нет! Правда при запуске из командной строки ручками. Хоть и cmd в этот момент работает, но переменные берутся от nnbackup-а. А вот при батнике - переменные ищутся в виндовом окружении.
Переименовал батник в *.cmd, та же бадяга

elos wrote:Но у меня то архивирует (смотрим мой пост выше - там архиватор код ошибки возвращает 0, то есть всё в порядке, архивировалось)... комп после внесения в PATH пути архиватора перегружался?
Да перезагружался.

elos wrote:на всякий случай мой backup.ini
Code: Select all
\ nnBackup ini-file
HomeDir: "%NNBACKUP-DIR%"
Language: English
Logtime: "%WW% %DD%.%MMM%.%YYYY% %hh%:%mm%"
LogFile: "%HOME-DIR%\log\nnbackup.log"
DumpDatesFile: "%HOME-DIR%\etc\dumpdates.txt"
ZipListFile: "%HOME-DIR%\etc\zip-list-%GetCurrentProcessId%.txt"
Quiet OFF
SubTree OFF
Verbose OFF
CopyAccessRights OFF
DelAbsent OFF
DelAbsentDir ON
AnyDifference OFF
IgnoreErrors OFF
CopyEmptyDirs OFF
KeepPath OFF
PushChanged OFF
TwoSecondsPrecision OFF
DumpLevelLE OFF
NeedStatistic OFF
ClearArchiveAttribute OFF
TestDirAttrib ON
TestDirTime OFF

ExtZip: 7z 65001 7z.exe a -scsUTF-8 -r "%ZIP-FILENAME%" "@%ZIP-LIST%"
ExtZip: RAR 1 rar.exe a %Verbose @ ?S" -inul"% "%ZIP-FILENAME%" "@%ZIP-LIST%"
ExtZip: TAR 0 tar.exe -c --files-from="%ZIP-LIST%" -f "%ZIP-FILENAME%"

А можно с расшифровкой?
User avatar
Nigelist
 
Posts: 10
Joined: Mon, 08 Mar 2010, 09:59
Location: С того берега моря

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby elos » Thu, 11 Mar 2010, 17:15

И еще о переменных среды Windows, как их можно добавлять? Мне бы хотелось
добавить свои переменные...

Проще всего (если это не стоит в "Избранном" помощи) нажать WIN+F1, набрать в поиске cmd, внизу нажать на "Смотри также" и выбрать предпоследний пункт "Общие сведения о командной оболочке". "Использование переменных среды в Cmd.exe" - это от середины и до конца. Вверху ссылка "Использование пакетных файлов". Батники - это вообще отдельный вид искусства, сам пользовал только простые.

Расшифровка backup.ini - а оно так надо? Это тогда надо углубляться в SPF, (что усиленно приветствуется, только не забудь "очистить чашу своих знаний" - чтобы туда было что залить) на котором всё и написано. Данный инишник - это просто начальная инициализация неких переменных нулем (OFF) или -1 (ON).
смотрим поиском исходники SPForth-а и папку devel там же:
Code: Select all
-1 CONSTANT TRUE ( -- true ) \ 94 CORE EXT
\ Вернуть флаг "истина", ячейку со всеми установленными битами.

: OFF 0! ;
: ON TRUE SWAP ! ;

Самое интеллектуальное тут слово ExtZip: - оно создает на лету слово, которое будет отвечать за конкретный архиватор путем назначения ему некоей командной строки этого архиватора и используемой кодировки. И nnbackup не отвечает инишником за непрописанность архиватора в списке путей системы (PATH)...

Вот не люблю печатать - дальше давай сам...
Чуть позже выложу про смесь nncron и rar
elos
 
Posts: 665
Joined: Tue, 25 Apr 2006, 11:15

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby elos » Fri, 12 Mar 2010, 23:35

А можно подробнее, можно ли с помощью nncron и winrar настроить архивацию так?
архивирование с максимальным уплотнением;
добавление информации для восстановления;
ограничение на кол-во архивов;
Задание временной метки в имени создаваемых архивов;
исключающая маска по файлам и папкам.
Структуру каталогов и файлов оставляем прежними.

Создаём строку архиватора, при этом запускать её будем, находясь в папке C:\TEMP\NEW (в кроне это задается с помощью StartIn: "C:\TEMP\NEW"), в консоли командой "cd C:\TEMP\NEW", в FAR-е - заходом в эту папку... Заодно условимся, что папок по месяцам и дням создавать не будем - хватит имён файлов, тем более в FAR-е, просто нажав ALT и набирая цифровое имя файла, на него и попадём...
в консоли
Code: Select all
cd C:\TEMP\NEW
rar a -m5 -mdg -r -x*.tmp -x*.bak -xC:\TEMP\NEW\NC -xC:\TEMP\NEW\WORK_NEW C:\BACKUP\201003test.rar C:\TEMP\NEW\*
работает, но длинная строка... Попробуем использовать список для исключений (проще править список в одном месте, чем править строку с вероятностью ошибиться)
Code: Select all
rar a -m5 -mdg -rr3p -r -x@C:\BACKUP\exclude.txt C:\BACKUP\201003test.rar C:\TEMP\NEW\*

где C:\BACKUP\exclude.txt в DOS-кодировке:
Code: Select all
*.tmp
*.bak
C:\TEMP\NEW\NC
C:\TEMP\NEW\WORK_NEW
теперь попробуем всё подставить в задачу nncron, задав "метки времени" в имени файла
Code: Select all
#( rar_backup
NoActive
AsLoggedUser
Action:
StartIn: "C:\temp\NEW"
SWHide   NormalPriority
START-APP: rar a -m5 -mdg -rr3p -r -x@C:\BACKUP\exclude.txt C:\BACKUP\%YYYY%_%MM%_%DD%_%hh%_%mm%_%ss%.rar C:\TEMP\NEW\*
)#

Ограничение на кол-во архивов можно реализовать на основе слова от VoidVolker Пт, 15 янв 2010, 15:11 (только имя слова поменяем):
Code: Select all
: quantity_files?   ( a u -- n )
  0 ROT ROT
  RECURSIVE FILESONLY SKIPERRORS
  FOR-FILES 1+ ;FOR-FILES
;
Но это, пожалуйста, сам...
Кстати, как-то некузяво в данном форуме отступать от самого nnbackup. Поэтому вернёмся назад к строке
Code: Select all
nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -x *.tmp,*.bak -dx "NC,WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -s -v -p -extzip RAR
Здесь нам осталось только добиться правильного архивирования, то есть архивирования с максимальным уплотнением и добавления информации для восстановления. Для этого надо изменить в backup.ini строчку на
Code: Select all
ExtZip: RAR 1 rar.exe a -m5 -mdg -rr3p %Verbose @ ?S" -inul"% "%ZIP-FILENAME%" "@%ZIP-LIST%"
Лучше backup.ini переименовать, "подправить", положить куда-нибудь и использовать его с -ini <[@]filename>. Как итог имеем:

Code: Select all
#( rar_backup
NoActive
AsLoggedUser
Action:
StartIn: "C:\temp\NEW"
SWHide   NormalPriority
START-APP: C:\nnBackup\nnbackup.exe verz -n 6 -i c:\Temp\New -o c:\backup\ -x *.tmp,*.bak -dx "NC,WORK_NEW" -sdn "%YYYY%_%MM%_%DD%" -ini C:\BACKUP\backup.ini -s -v -p -extzip RAR
)#

Получили всё что хотели - и ограничение на кол-во архивов, и задание временной метки в имени создаваемых архивов, и архивирование с максимальным уплотнением, а также добавление в архив информации для восстановления, не говоря уже об исключающей маске по файлам и папкам.
Если что-то не будет получаться - значит невнимательно было прочитано и воспроизведено.У меня всё работает (кусок nnbackup.log)
Fr 12.Mar.2010 23:29 Start backup
Fr 12.Mar.2010 23:29 c:\Temp\New\1.txt
Fr 12.Mar.2010 23:29 c:\Temp\New\2.doc
Fr 12.Mar.2010 23:29 c:\Temp\New\ELOS\1.txt
Fr 12.Mar.2010 23:29 c:\Temp\New\ELOS\2.doc
Fr 12.Mar.2010 23:29 RUN: rar.exe a -m5 -mdg -rr3p -inul "c:\backup\1_2010_03_12.rar" "@C:\nnBackup\\etc\zip-list-1444.txt"
Fr 12.Mar.2010 23:29 External archiver return code is 0
Fr 12.Mar.2010 23:29 Stop backup
elos
 
Posts: 665
Joined: Tue, 25 Apr 2006, 11:15

Re: Ежедневный бэкап + ограниченние на кол-во архивов

Postby papageorge3 » Thu, 30 Sep 2010, 10:50

здравствуйте. у меня проблема с "исключающим внутренние папки" копированием. Здесь писали:
Решение по маскам нашел в мануале, маска должна задаваться в одних кавычках:
-dx "NC,WORK_NEW"

а я хочу, что б nnBackup исключал ненужные для копирования папки, пути к которым записаны в .txt-шнике.
Создал это ТХТ-шник:
"D:\рабочий SOFT\1с"
"D:\рабочий SOFT\Работа с терминалами"

Далее идет строка в nnCron-е:
C:\Program Files\nnBackup\nnbackup.exe ver -n 5 -i "D:\рабочий SOFT" -o d:\backup\ -s -e -v -c -dx "C:\Program Files\nnBackup\backuplist.txt" -sdn %DD%-%MM%-%YYYY% -nocopy
а он мне всё равно бэкапит всю исходную папку, без исключений... :rolleyes:
начало логфайла:
Th 30.Sep.2010 11:45 Start backup
Th 30.Sep.2010 11:45 D:\рабочий SOFT\1с\1.6.12.4_setup\1cv8.efd
Th 30.Sep.2010 11:45 D:\рабочий SOFT\1с\1.6.12.4_setup\ReadMe.txt
Th 30.Sep.2010 11:45 D:\рабочий SOFT\1с\1.6.12.4_setup\setup.exe
Th 30.Sep.2010 11:45 D:\рабочий SOFT\1с\1.6.12.4_setup\VerInfo.txt
и т.д.
papageorge3
 
Posts: 11
Joined: Thu, 30 Sep 2010, 09:56

Next

Return to nnBackup forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest