Bacula-users

Re: [Bacula-users] Running a fake incremental that can be considered as Full ( Database Dumps )

2012-04-20 06:43:35
Subject: Re: [Bacula-users] Running a fake incremental that can be considered as Full ( Database Dumps )
From: Martin Simmons <martin AT lispworks DOT com>
To: bacula-users AT lists.sourceforge DOT net
Date: Fri, 20 Apr 2012 11:40:44 +0100
>>>>> On Thu, 19 Apr 2012 11:02:33 +0200, Hugo Letemplier said:
> 
> 2012/4/18 Martin Simmons <martin AT lispworks DOT com>:
> >>>>>> On Wed, 18 Apr 2012 15:41:02 +0200, Hugo Letemplier said:
> >>
> >> 2012/4/18 Hugo Letemplier <hugo.let.35 AT gmail DOT com>:
> >> > 2012/4/16 Christian Manal <moenoel AT informatik.uni-bremen DOT de>:
> >> >> On 16.04.2012 12:09, Hugo Letemplier wrote:
> >> >>> Hello
> >> >>>
> >> >>> I use Bacula 5.0.3
> >> >>>
> >> >>> On few linux servers I have got BDD dumps that run every nights at a
> >> >>> specified time.
> >> >>> For synchronism reasons between databases theses backups are run via
> >> >>> crontab and not directly from bacula.
> >> >>>
> >> >>> I need that bacula save theses databases dumps every morning
> >> >>> - The filesystem is a read only LVM snapshot of a Virtual Machine (
> >> >>> the backup is ran on the physical host and not on the virtual machine
> >> >>> )
> >> >>> - The snapshot is generated and mounted in a Run Before Job script
> >> >>>
> >> >>> Rotation schemas that deletes old dumps on the backed up server is not
> >> >>> the same than on the configuration of bacula servers
> >> >>>
> >> >>> I need bacula to :
> >> >>> - Run a full
> >> >>> - Save only the dumps that haven't been already backed up .
> >> >>>
> >> >>> I must have a full:
> >> >>> - If I do increments, I will need to keep the full and this is not
> >> >>> what I want, if the full is deleted it will create a new one
> >> >>> - Moreover a DB dump as no dependency in previous dumps
> >> >>>
> >> >>> I can't select only the dump of the day :
> >> >>> - If bacula job is not working one day, the next one must backup the
> >> >>> "missed db dump" that where not backed up during the failed job
> >> >>>
> >> >>> I can't use a predefined list of files in fileset because the estimate
> >> >>> seems to be done before "Run Before Job" script that generates the
> >> >>> snapshot so it doesn't validate the include path.
> >> >>> File = "\\|bash -c \"find …… wont work because it's ran before my
> >> >>> snapshot creation
> >> >>>
> >> >>> I think that it rests "options sections" from fileset but I didn't
> >> >>> found anything that's fine
> >> >>>
> >> >>> In fact I want to run a full that saves only files since the last
> >> >>> successful backup without using the incremental method because it will
> >> >>> generate a full that will be deleted so I will have a useless FULL -
> >> >>> INC dependence
> >> >>>
> >> >>> Have you got an idea ?
> >> >>>
> >> >>> Thanks
> >> >>
> >> >> Hi,
> >> >>
> >> >> if I understand you right, you want Bacula's virtual backup. You can run
> >> >> your usual Full and Incremental jobs and then consolidate them into a
> >> >> new Full backup. See
> >> >>
> >> >> http://bacula.org/5.2.x-manuals/en/main/main/New_Features_in_3_0_0.html#SECTION001370000000000000000
> >> >>
> >> >>
> >> >> Regards,
> >> >> Christian Manal
> >> >>
> >> >>
> >> >> ------------------------------------------------------------------------------
> >> >> For Developers, A Lot Can Happen In A Second.
> >> >> Boundary is the first to Know...and Tell You.
> >> >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
> >> >> http://p.sf.net/sfu/Boundary-d2dvs2
> >> >> _______________________________________________
> >> >> Bacula-users mailing list
> >> >> Bacula-users AT lists.sourceforge DOT net
> >> >> https://lists.sourceforge.net/lists/listinfo/bacula-users
> >> >
> >> > I dont think that Virtual Backup can help me.
> >> > Moreover, I can't put a virtual Backup in the same pool than the
> >> > previous full so it
> >> >
> >> > My first idea was to move/rename the files that have been backed up
> >> > after each job so they wont match a regexp option in fileset
> >> > => This is not possible because of the Read Only FS
> >> >
> >> > I think that i am gonna store a file list from the previous job on the 
> >> > director
> >> > Then I will read this list as an exclude list in the next job
> >> > I think that it's fine because every dump file has a unique file name
> >> > with a timestamp
> >>
> >> My option regexp is working to select good files
> >> Among this selection I Exclude all files that are in a  list with :
> >> Exclude {
> >>         File = "\\</var/lib/bacula/lastjob.list"
> >>  }
> >> This list as been generated at the end of the previous job and
> >> contains a listing of the already saved files
> >>
> >> I have run the file daemon with -d 200 -v -f
> >> It says that the exclude file list as been imported but file Excluding
> >> doesn't work
> >>
> >> Have you got an idea ?
> >
> > The format of /var/lib/bacula/lastjob.list might be wrong -- can you give an
> > example of its contents?
> >
> > Also, is that file on the client machine (as you've used the \\< syntax)?  
> > If
> > the file on the Director machine then remove the \\.
> >
> > __Martin
> >
> 
> Hello
> 
> here is the content of one line from the file, every line is similar
> to the following:
> /var/lib/bacula/lvm_mount/vm-205-disk-2/Backup/dev4/pgsql_backup/pg_dump_schema.dev4.120417.2100.sql.gz
> 
> FileSet {
>       Name = "MyFileset"
>     Exclude {
>         File = "\\</var/lib/bacula/MyfileList.last"
>     }
>       Include {
> 
>         Options {
>             compression = GZIP5
>                   Signature = MD5
>                   ACL Support = yes
>                   xattrsupport = yes
>                   strippath = 5
>                   onefs = yes
>                   regexfile = 
> "^.*/Backup/dev.*/pgsql_backup/pg_dump_schema.*\.sql\.gz$"
>               }
>               options {
>                           regexfile = ".*"
>                                   exclude= yes
>               }
>           File = "/var/lib/bacula/lvm_mount/vm-205-disk-2/Backup/"
>     }
> }
> 
> The file is on the client machine

Ah, I think I see the problem now -- a positive match to the wild/regex
Options in the Include section will override the Exclude section completely.

You could try generating the Include list via File = "\\|find ..." rather than
using regexfile to match them.

__Martin

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users