[Box Backup] Lazy mode and temp-file handling

Chris Wilson boxbackup@fluffy.co.uk
Sun, 15 Jun 2008 21:15:20 +0100 (BST)


Hi Wolfgang,

On Wed, 11 Jun 2008, Wolfgang Trexler wrote:

> I've boxbackup 0.11rc2 running in lazy mode on a heavy loaded machine 
> with a lot of activity on the file system. Every now and then I get an 
> error message that some of the files could not be backed up. All theses 
> files are either temp or (short time) lock files. The minimum age 
> parameter MinimumFileAge is set to 6 hours, so this shouldn't happen at 
> all....

Indeed not. Please could you try enabling the LogAllFileAccess option, run 
bbackupd with -V and get your syslog to log debug level messages (e.g. 
local6.* /var/log/box.log) and when you get an error about one of these 
files, check your logs and report all the lines that refer to it? This 
should help establish the conditions that bbackupd used to decide whether 
to back up the file.

> One of these files is a tmp file of a cron job that runs rather often 
> and does some sort of file rotation. So a file is generated, moved to a 
> tmp file (always with the same name) processed and deleted later on. The 
> tmp file is never alive for longer than a few minutes, but shows up 
> quite often (in different versions).
> 
> I suppose that by chance the file-name exists (although with different 
> inodes) on several boxbackup-runs in a row, so boxbackup "sees" it for 
> more than 6 hours and initiates an upload. As the file is deleted in 
> between I get the error message.
> 
> I wonder if this file should even be considered for an upload, given 
> that "the same file" doesn't exist for more than 6 hours, only a file 
> with the same file name but different inodes.

The problem is that several programs save files in exactly this way, by 
creating a new file and then renaming over the old one, to ensure that the 
file doesn't get corrupted if the program (or the system) crashes while 
saving it. This results in the inode number changing. If that matches what 
your tempfile is doing, then I don't consider it a bug.

Have you tried excluding the temporary files?

Cheers, Chris.
-- 
_____ __     _
\  __/ / ,__(_)_  | Chris Wilson <0000 at qwirx.com> - Cambs UK |
/ (_/ ,\/ _/ /_ \ | Security/C/C++/Java/Ruby/Perl/SQL Developer |
\ _/_/_/_//_/___/ | We are GNU : free your mind & your software |