Bacula-users

Re: [Bacula-users] Error on Bacula job

2008-11-17 03:45:30
Subject: Re: [Bacula-users] Error on Bacula job
From: Arno Lehmann <al AT its-lehmann DOT de>
To: bacula-users AT lists.sourceforge DOT net
Date: Mon, 17 Nov 2008 09:41:28 +0100
Hi,

17.11.2008 01:11, Daniel Bareiro wrote:
> On Sunday, 16 November 2008 21:09:22 +0100,
> Arno Lehmann wrote:
...
>>> 16-Nov 01:13 backup1-dir: Start Backup JobId 5231, 
>>> Job=Sdp2.2008-11-16_00.00.18
>>> 16-Nov 01:17 sdp2-fd: Sdp2.2008-11-16_00.00.18 Fatal error: Error running 
>>> program: bash -c "find
>>> +/space/backup/$HOSTNAME/*_etc.tar.gz ". RtnStat=268435457 ERR=Conseguido
>  
>> This seems to be a broken programm call... probably the file set
>> definition is done with a program, and that programm isn't executed
>> properly.
>  
>> What is shown in the output is definitely not a useful 'find'
>> invocation.
> 
> 
>> Can you post the relevant configuration setting, and also the result
>> of the *identical* program call from the shell?
> 
> Of course.
> 
> bacula-dir.conf:
> 
> #################### Listado de JobDefs ###########################
> 
> JobDefs {
>   Name = "Bases"
>   Type = Backup
>   FileSet = "Bases"
>   Schedule = "CicloSemanal"
>   Storage = DLTDrive
>   Messages = Standard
>   Max Start Delay = 15h
>   Pool = Default
> }
> 
> [...]
> 
> #################### Listado de Jobs ###########################
> 
> [...]
> 
> Job {
>   Name = "Sdp"
>   Client = sdp-fd
>   JobDefs = "Bases"
>   Priority = 14
>   Write Bootstrap = "/var/lib/bacula/sdp.bsr"
> }
> 
> Job {
>   Name = "Sdpbkp"
>   Client = sdpbkp-fd
>   JobDefs = "Bases"
>   Priority = 15
>   Write Bootstrap = "/var/lib/bacula/sdpbkp.bsr"
> }
> 
> [...]
> 
> Job {
>   Name = "Sdp2"
>   Client = sdp2-fd
>   JobDefs = "Bases"
>   Priority = 28
>   Write Bootstrap = "/var/lib/bacula/sdp2.bsr"
> }
> 
> #################### Archivos a backupear ###########################
> 
> FileSet {
>   Name = "Bases"
>   Include {
>     Options {
>       signature = SHA1
>       wildfile = "*.bz2"
>     }
>     Options {
>       Exclude = yes
>       RegexFile = ".*"
>     }
>     # File = /space/backup/sdpbkp/oracle/export
>     File = "\\|bash -c \"echo /space/backup/$HOSTNAME/oracle/export/ \""

Why so complicated? Requires parsing of a command line, creating a 
child process, reading its output... and it's more secure to use full 
paths for bash and echo.

>   }
>   Include {
>     Options {
>       signature = SHA1
>     }
>     File = /etc
>     File = "\\|bash -c \"find /space/backup/$HOSTNAME/*_etc.tar.gz \""

Make this "\\|bash -c \"find /space/backup/$HOSTNAME/ '*_etc.tar.gz' 
\"". For more information, read find's manual page.

>     File = "\\|bash -c \"find /space/backup/$HOSTNAME/oracle/controlfile/ \""
>     File = "\\|bash -c \"find /space/backup/$HOSTNAME/oracle/pfile/ \""
>     File = "\\|bash -c \"find /space/backup/$HOSTNAME/oracle/scripts/ \""
>     File = "\\|bash -c \"echo /space/backup/$HOSTNAME/pkg_list/ \""
>     File = "\\|bash -c \"echo /space/backup/$HOSTNAME/home/ \""
>     File = "\\|bash -c \"echo /space/log/$HOSTNAME/oracle/ \""
>   }
> }
> 
> Notifications:
> 
> I sent the sdpd2 notification for november 14 in the previous mail, so I
> will send only the one of the other two clients:
> 
> -----------------------------------------------------------------------------
> 15-Nov 00:07 backup1-dir: Start Backup JobId 5198,
> Job=Sdpbkp.2008-11-15_00.00.05
> 15-Nov 00:12 sdpbkp-fd: DIR and FD clocks differ by 310 seconds, FD
> automatically adjusting.
> 15-Nov 00:07 backup1-dir: Bacula 1.38.11 (28Jun06): 15-Nov-2008 00:07:39
>   JobId:                  5198
>   Job:                    Sdpbkp.2008-11-15_00.00.05
>   Backup Level:           Incremental, since=2008-11-14 00:09:38
>   Client:                 "sdpbkp-fd" i486-pc-linux-gnu,debian,4.0
>   FileSet:                "Bases" 2008-07-08 22:10:11

It's a bit unexpected to *not* find the error here, but as long as 
everything work's let's simply ignore that :-)

...
> 15-Nov 00:07 backup1-dir: Start Backup JobId 5197,
> Job=Sdp.2008-11-15_00.00.04
> 15-Nov 00:10 sdp-fd: DIR and FD clocks differ by 199 seconds, FD
> automatically adjusting.
> 15-Nov 00:10 sdp-fd:      Could not stat /space/log/sdp/oracle/: ERR=No
> such file or directory
> 15-Nov 00:07 backup1-dir: Bacula 1.38.11 (28Jun06): 15-Nov-2008 00:07:32
>   JobId:                  5197
>   Job:                    Sdp.2008-11-15_00.00.04
>   Backup Level:           Incremental, since=2008-11-14 00:09:31
>   Client:                 "sdp-fd" i486-pc-linux-gnu,debian,4.0
>   FileSet:                "Bases" 2008-07-08 22:10:11
>   Pool:                   "Incremental"
>   Storage:                "DLTDrive"
>   Scheduled time:         15-Nov-2008 00:00:03
>   Start time:             15-Nov-2008 00:07:29
>   End time:               15-Nov-2008 00:07:32
>   Elapsed time:           3 secs
>   Priority:               14
>   FD Files Written:       2
>   SD Files Written:       2
>   FD Bytes Written:       3,010 (3.010 KB)
>   SD Bytes Written:       3,228 (3.228 KB)
>   Rate:                   1.0 KB/s
>   Software Compression:   None
>   Volume name(s):         EducarIncremental0003
>   Volume Session Id:      5
>   Volume Session Time:    1226689534
>   Last Volume Bytes:      36,691,798,833 (36.69 GB)
>   Non-fatal FD errors:    1
>   SD Errors:              0
>   FD termination status:  OK
>   SD termination status:  OK
>   Termination:            Backup OK -- with warnings
> 
> 15-Nov 00:07 backup1-dir: Begin pruning Jobs.
> 15-Nov 00:07 backup1-dir: Pruned 0 Jobs for client sdp-fd from catalog.
> 15-Nov 00:07 backup1-dir: Begin pruning Files.
> 15-Nov 00:07 backup1-dir: No Files found to prune.
> 15-Nov 00:07 backup1-dir: End auto prune.
> -----------------------------------------------------------------------------
> 
> As you see, the backup of sdp finishes OK but with warnings not having a
> directory.

Well, that's just a warning. As long as you can live with it that 
should be ok.

> The reason by which I use "find" is because I wanted to have a unique
> definition to use with all the installation of databases having common
> directories among them whereas other directories are not.
> 
> Output of the program called from the shell:
> 
> 1) sdp:
> 
> $bash -c "echo /space/backup/$HOSTNAME/oracle/export/ "
> /space/backup/sdp/oracle/export/
> 
> $bash -c "find /space/backup/$HOSTNAME/*_etc.tar.gz "
> /space/backup/sdp/20071121_etc.tar.gz

Now that's bit unexpected for me... probably the shell expanding the 
'*' in the line above. You shouldn't rely on this, though:

$ find '/etc/*.conf'
find: /etc/*.conf: No such file or directory

...


> 3) sdp2
...
> $bash -c "find /space/backup/$HOSTNAME/*_etc.tar.gz "
> find: /space/backup/sdp2/*_etc.tar.gz: No existe el fichero o el directorio

Yup... use "find '/etc/*.conf' 2>/dev/null" to suppress error messages.

...

> These seem to be the four errors informed in the mail for sdp2 due to
> the nonexistent directories. What I do not understand is why these are
> fatal errors whereas the one of sdp is not it.

Hard to tell now. I would suggest to fix the command invocations so 
that you don't use shell globbing but rather let find do it's work... 
which is what you want, probably - you wouldn't use find otherwise.

Also, try to use the stderr redirection to /dev/null so you don't get 
all the find errors into the job report.

If there are still differences between the jobs, a debug log of the 
fileset execution on two of the clients might help.

Unfortunately, I don't know which debug level produces a log of what 
the fileset processing does, and I can't find it in the coede now :-)

Arno

> 
> Thanks for your reply.
> 
> Regards,
> Daniel
> 
> 
-- 
Arno Lehmann
IT-Service Lehmann
Sandstr. 6, 49080 Osnabrück
www.its-lehmann.de

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

<Prev in Thread] Current Thread [Next in Thread>