Bacula-users

Re: [Bacula-users] Accurate restoration of renamed/deleted file

2009-03-24 00:36:16
Subject: Re: [Bacula-users] Accurate restoration of renamed/deleted file
From: Craig Ringer <craig AT postnewspapers.com DOT au>
To: Frank Sweetser <fs AT WPI DOT EDU>
Date: Tue, 24 Mar 2009 13:30:01 +0900
Frank Sweetser wrote:
> Craig Ringer wrote:
>> Frank Sweetser wrote:
>>
>>> [deleted file tracking] has been implemented in the current 
>>> development code base.
>>
>> Oh, I also meant to ask:
>>
>> Does deleted file tracking require the cooperation of the fd? Or will 
>> I be able to keep on using 2.4 fds on my clients? It'd be helpful not 
>> to have to run 2.4 and 2.5 fds in parallel on the clients.
> 
> I haven't played with it, but I believe that it requires 2.5 FDs.

Yes, looking at the sources, it does look like a 2.5 FD would be required.

However, I'm not having any luck getting it working even with a 2.5 
(today's SVN) director and FD.

I create:

   /deltest
   /deltest/always
   /deltest/del_before_incr

then run a full backup. I then remove:

   /deltest/del_before_incr

and create:

   /deltest/created_after_incr

and run an incremental.

When `restore' is invoked in the console (selected "most recent for 
client", then the client used, then the "DeletionTest" job I created), 
the mark list shows all three files. When I "mark *" in the root and 
approve the restore to a temporary location that didn't previously 
exist, all three files are created.

Taking a (quick) look at the source, it looks like Bacula should be 
recording deleted file records, but the file daemon isn't doing anything 
with them yet:

src/filed/restore.c:301

          /* TODO: manage deleted files */
          if (rctx.type == FT_DELETED) { /* deleted file */
             continue;
          }

... and I didn't see any sign of the FT_DELETED filetype attribute 
seeing use in the director.

bextract should list any deleted files:

src/stored/bextract.c:

          if (attr->type == FT_DELETED) {
             Jmsg(jcr, M_INFO, 0, _("%s was deleted.\n"), attr->fname);
             extract = false;
             return true;
          }

... so given that no such "was deleted" messages appear when I run 
bextract on a volume that should contain deleted file records, I guess 
they're not being recorded in the first place.

The filed does call accurate_send_deleted_list(...) from backup.c:140 .

I'm not quite sure what's going wrong yet... I'll try to trace things. 
In the mean time, if anyone knows something that's required to enable 
deleted file tracking or the degree of completeness of the feature, I'd 
love to hear about it.



Job definition:

Job {
   Name = "BackupDT"
   JobDefs = "DefaultJob"
   Schedule = "SystemCycle"        # very similar to the default
   Client = backup-fd
   Storage = "File"
   FileSet = "DeletionTest"
}
FileSet {
   Name = "DeletionTest"
   Include {
     File = "/deltest"
   }
}


JobDefs defaults to incremental. It doesn't do anything of much interest.


------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users