вопрос по режиму Dump

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

вопрос по режиму Dump

Postby Kharitonov_Roman » Thu, 10 Nov 2005, 16:37

цитата из хелпа версии 2.28

дамп любого другого уровня (например, N) содержит только файлы, которые появились или изменились с момента создания последнего дампа, чей уровень меньше или равен N. Если новых или измененных файлов нет, то дамп не создается.


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

так вот делаем нулевой.
после чего делаем ежедневно 5

создаются дампы с изменениями от нулевого дампа хотя

дамп любого другого уровня (например, N) содержит только файлы, которые появились или изменились с момента создания последнего дампа, чей уровень меньше или равен N.


согласно хелпу должны с момента запуска последнего 5.
Kharitonov_Roman
 
Posts: 6
Joined: Fri, 28 Oct 2005, 16:27

Postby Kharitonov_Roman » Thu, 10 Nov 2005, 18:50

еще раз смоделировал ситуацию в ручную
по дням

1).
так и получается
если делать нулевой дамп, а потом последующие с одной цифрой (допустим 5) то копируются все файлы созданные или измененные с нулевого дампа.

почему не работает равенство.
Можно уточнить , я не правильно понял доку ????

дамп любого другого уровня (например, N) содержит только файлы, которые появились или изменились с момента создания последнего дампа, чей уровень меньше или равен N..


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


2).
Если делать дампы 5, потом 6 , потом 7, после чего 2, и опять 5, потом 6 , потом 7 и наконец 3
То все работает
5,6,7 дампы изменения последние. - 3 дня
во 2 изменения 5,6,7 - 4 день
5,6,7 дампы изменения последние - 5,6,7 день
3 изменения 5,6,7 - 8 день.

оно так должно работать ???? то есть при создании очередного дампа оно ориентируется на dumpdates.txt не на последний созданный дамп а на все что были сделаны...

Не сочтите за назойливость :) - просто хочу разобраться
Kharitonov_Roman
 
Posts: 6
Joined: Fri, 28 Oct 2005, 16:27

Тоже бьюсь с этой проблемой, но ни решения ни ответа нет...

Postby Andy » Wed, 15 Mar 2006, 14:57

Если верить документации, то очень удобно было бы использовать уровни дампа для получения дампов по дням, неделям, месяцам и т.д.. Т.е. Делаем полный дамп (0). Затем каждый день делаем дамп, например, 9 уровня, получая каждый день в папках или архиве только те изменения, которые произошли СО ВЧЕРАШНЕГО запуска.Каждую неделю делаем дамп 8-го уровня, получая изменения, сделанные за неделю и т.д.. Но на практике получается, что при ежедневных запусках дампа 9 уровня в папку последнего дампа помещаются все изменения, сделанные с момента выполнения не вчерашнего дампа, а дампа с МЕНЬШИМ значением, что не соответствует документации и не имеет тогда особого смысла :(.
Очень хотелось бы разобраться с этим делом, ибо сильно не хватает нормальной работы данной опции.
Заранее спасибо за ответ!
User avatar
Andy
 
Posts: 11
Joined: Wed, 30 Mar 2005, 13:45

Postby Valery_Kondakoff » Fri, 24 Mar 2006, 17:22

что касается меньшенго дампа, то это ошибка в документации. доки постепенно исправлю. будет примерно так:
Code: Select all
дамп любого другого уровня (например, N) содержит только файлы, которые появились или изменились с момента создания последнего дампа, чей уровень меньше N
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Postby Andy » Fri, 24 Mar 2006, 22:41

Тогда не совсем понятно как пользоваться уровнями DUMP в данной ситуации... Если бы программа работала так, как сейчас описано в документации, тогда можно было бы гибко варьировать ежедневные, еженедельные, ежемесячные и т.д. бекапы (0 - полный, 9 - ежечасовой, 8 - ежедневный, 7 - еженедельный, 6 - ежемесячный и т.д., типа такого), а в случае, если уровень, равный N не будет учитываться, то организовать подобную схему будет очень трудно... Или я не правильно себе это представляю? Тогда просьба подсказать как можно организовать следующую схему:

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

Заранее спасибо за ответ.
User avatar
Andy
 
Posts: 11
Joined: Wed, 30 Mar 2005, 13:45

Postby Nicholas_Nemtsev » Mon, 27 Mar 2006, 16:11

Патч для 2.х
Code: Select all
: SetDumpTime1
    0. DumpTime 2!
    DumpLevel @ ?DUP
    IF
        PrevDumpFound OFF
        ?GET-BUF
        open-dumpdates
        BEGIN dump-buf @ BUF-SIZE hdumpd @
            READ-LINE ?dumpdutes.txt-ERR
        WHILE
            dump-buf @ SWAP <TIB
            get-string SrcPathes ICOMPARE 0=
            IF
                get-number DUP 0 < OVER 9 > OR 0=
                IF
                    DumpLevel @ > 0=
                    IF
                        NextWord SDD.MM.YYYY
                        NextWord SHH:MM 0 YMDHMS>FT DumpTime!
                        PrevDumpFound ON
                    THEN
                ELSE DROP THEN
            THEN
            TIB>
        REPEAT DROP
        PrevDumpFound @ 0= IF DumpLevel 0! THEN
        hdumpd @ CLOSE-FILE DROP
    THEN
;
' SetDumpTime1 ' SetDumpTime JMP


Патч для 3.х
Code: Select all
ALSO FILE-MODULE
: SetDumpTime1
    0. DumpTime 2!
    DumpLevel @ ?DUP
    IF
        PrevDumpFound OFF
        ?GET-BUF
        open-dumpdates
        BEGIN dump-buf @ BUF-SIZE hdumpd @
            ANSI-READ-LINE ?dumpdutes.txt-ERR
        WHILE
            dump-buf @ SWAP <TIB
            get-string SrcPathes ICOMPARE 0=
            IF
                get-number DUP 0 < OVER 9 > OR 0=
                IF
                    DumpLevel @ > 0=
                    IF    ZSuffix OFF fDUMP OFF
                        NextWord SDD.MM.YYYY
                        NextWord SHH:MM 0 0 YMDhmsz>TIME DumpTime!
                        PrevDumpFound ON
                    THEN
                ELSE DROP THEN
            THEN
            TIB>
        REPEAT DROP
        PrevDumpFound @ 0= IF DumpLevel 0! THEN
        hdumpd @ CLOSE-FILE DROP
    THEN
;
' SetDumpTime1 ' SetDumpTime JMP
PREVIOUS
Last edited by Nicholas_Nemtsev on Tue, 23 May 2006, 09:13, edited 1 time in total.
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby Andy » Thu, 30 Mar 2006, 09:38

Sorry за глупый вопрос... Но что делать с этими патчами? Как их заюзать и что после этого должно произойти?
User avatar
Andy
 
Posts: 11
Joined: Wed, 30 Mar 2005, 13:45

Postby Nicholas_Nemtsev » Thu, 30 Mar 2006, 09:49

:) Добавить в конец файла backup.ini
А произойти должно следующее: дампы будут создаваться от предыдущего дампа с меньшими или равным номером (а не только с меньшим, как есть в nnbackup изначально).
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby Pabloid » Thu, 13 Apr 2006, 09:06

А теперь я запутался... Когда указали на ошибку в документации, логика работы программы стала ясна и понятна: при создании дампа уровня N учитываются изменения сделанные после последнего дампа уровня N-1. Таким образом, в файле с дампом N содержатся все измененные (или новые) файлы относительно дампа N-1. Но после наложения предложенного патча получается, что последний созданный дамп уровня N содержит только самые последние изменения, даже относительно того же уровня N. А где же тогда хранятся все остальные изменения относительно уровня N-1?

Получается, что этот патч имеет смысл использовать только в том случае, если каждый дамп пишется в отдельный файл? Я правильно понимаю? Но тогда как восстанавливать данные из таких дампов, если они создаются, например, каждый час?
Pabloid
 
Posts: 7
Joined: Thu, 13 Apr 2006, 08:57

Postby Nicholas_Nemtsev » Thu, 13 Apr 2006, 10:15

Да, получается, что недостаточно заменить знаки сранения, но ещё и нельзя дату дампа обновлять. ВОт только не пойму при каком условии не надо обновлять. Или как-то иначе вычислять. Но тоже не пойму как.
Nicholas Nemtsev
User avatar
Nicholas_Nemtsev
Site Admin
 
Posts: 857
Joined: Thu, 01 Jul 2004, 22:25
Location: Псков

Postby Andy » Thu, 13 Apr 2006, 11:38

Делаешь каждый час дампы какого-либо уровня кроме 0 (но одного и того же). При этом в формируемое название файла вводишь значение текущего часа, чтобы файлы не затирались друг другом. И получаешь создаваемые ежечасно файлы, содержащие в себе только то, что изменилось за последний час. И таких файлов может быть бесконечное множество. А вот организовать это при работе nnBackUp как раньше я возможности и не находил...

А для того, чтобы просто иметь актуальные данные, можно каждый час делать копию, выкладывая удаленный из источника файлы в отдельный каталог. Получится возможность иметь зеркало каталога- источника и восстановить удаленную инфу в случае необходимости.
User avatar
Andy
 
Posts: 11
Joined: Wed, 30 Mar 2005, 13:45

Postby Pabloid » Thu, 13 Apr 2006, 11:55

А мне кажется, что и не нужно ничего менять, потому что программа и так работает логично. Каждый уровень дампа хранит изменения относительно всех низших уровней. Такая схема позволяет полностью восстановить данные, последовательно разархивировав каждый из дампов.

To Andy:

Возможно, я не до конца понимаю, что необходимо сделать, но по-моему, чтобы организовать такую схему, достаточно как раз выполнять дампы с уровнями, которые вы указали в скобках (0 - полный, 9 - ежечасовой, 8 - ежедневный, 7 - еженедельный, 6 - ежемесячный...). Достаточно просто иногда обновлять дамп нулевого уровня (зависит от интенсивности изменений файлов, например, раз в пару месяцев)
Pabloid
 
Posts: 7
Joined: Thu, 13 Apr 2006, 08:57

Postby Andy » Thu, 13 Apr 2006, 12:05

Но в старом варианте, если имя дампа не менять, то файлы, изменяемые ежедневно, будут затираться новыми вариантами. А, если менять, то в каждом новом файле бут содержаться все изменения, выполненные с момента дампа нижнего уровня. Т.е. будем получать постоянное накопление в последующих файлах новой информации и того, что уже есть в предыдущих...
User avatar
Andy
 
Posts: 11
Joined: Wed, 30 Mar 2005, 13:45

Postby Pabloid » Thu, 13 Apr 2006, 13:22

А-а-а, понял! Таким образом, вы получаету полную историю изменений бекапируемых файлов. Да, это удобно!

В таком случае, было бы здорово иметь дополнительную опцию, которая будет определять, учитывать ли изменения, сохраненные в предыдущем дампе такого же уровня. Отталкиваясь от значения этой опции, можно будет определять, какие знаки сравнения использовать и обновлять ли дату дампа.
Pabloid
 
Posts: 7
Joined: Thu, 13 Apr 2006, 08:57

Postby Kharitonov_Roman » Tue, 11 Jul 2006, 17:00

Если кому интересно, у меня работает так ....

Изменения за 1 месяц, (в месяце 4 недели или 5 недель - в зависимости от ситуации)

0-дамп - полная копия - пятница :)

5 -дамп - понедельник
6 - дамп - вторник
7 - дамп - среда
8 - дамп - четверг
1 - дамп - пятница изменения за понедельник - четверг.

и так далее, в результате дампы с 5 по 8 повторяются с понедельника по четверг, а пятничные дампы всегда +1
Kharitonov_Roman
 
Posts: 6
Joined: Fri, 28 Oct 2005, 16:27

Next

Return to nnBackup forum (Russian)

Who is online

Users browsing this forum: No registered users and 1 guest

cron