On 5/28/19 1:51 AM, Alexandre wrote:
> I have a product I need to backup data for.
> It stores data in a "contentstore" which is structured in a way that
> make it very predictable what needs to be backed up every day.
> Let me explain, every time a content is created it is stored under
> this specific hierarchy:
>
> contentstore_root
>       |_YYYY (e.g. 2019)
>             |_mm (1...12)
>                   |_dd (1...31)
>                         |_HH (1...24)
>                               |_MM (1...59)
> ...


Alexandre,


I do have an idea.  I don't know if it will help you or not.  It
definitely needs to be experimented with, and vetted.


Here we go:

Use a script to generate the list of directories to backup, and shove
that into the FileSet definition. Your script could just specify the
current date's directories, and those of some number of days before and
after the current date (eg +/- 5 days).  Then those would be the only
directories that the bacula FD would traverse, to do the backup on.

Here's an example of the fileset syntax that includes a script that
outputs the newline-separated list of files:

> FileSet {
>         Name = "FilesetName"
>         Include {
>                 Options {
>                         signature = SHA1
>                         compression = GZIP
>                 }
>                 File = "\\|/path/to/script/on/fd"
>         }
> }

In this scenario, since FileSet definition doesn't actually change, it
won't upgrade your incremental to a full, for example, as long as an
older full exists.  Yes, the output of the script itself does change,
but that doesn't seem to be enough to trigger the automatic level upgrade.

There are a few enormous questions, though:

- What happens when a previously-backed-up directory, is no longer
listed in the output of the script?  Do those files remain available to
restore, or are they treated as if they were deleted?

- Does the size of your ongoing VirtualFull keep growing over time? Is
that going to be a problem?

- Is there ever a time when you no longer want to be able to restore old
files? Do you need to have some kind of manual file expiration mechanism?

- Would it make sense to sometimes include old directories, after
they've been emptied, so that your job can figure out that the files are
moved to the trash folder instead?  For example, if files are trashed
after, say, 90 days, then your script could output the list of new
directories to backup, and a list of 5 directories that are 90-95 days old.




Good luck,

Lloyd


-- 
Lloyd Brown
HPC Systems Administrator
Office of Research Computing
Brigham Young University
http://marylou.byu.edu



_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to