Hi
Yes, the script I made works correctly. It dumps the database to a file
/tmp/fifofile.
What I want to do is to backup MySQL database using bacula and fifo. I know
that is easy to dump first the database to a file and then backup that file
(I've tried this way and it works correctly), but I have not enough space to
dump a high database to a file. I read in Bacula manual that I can configure
the Bacula Storage defining a Device Resource with fifo. As I can read from
manual:
"In addition to a tape device name or a directory name, Bacula will accept
the name of a FIFO. If a FIFO device is specified for a backup operation,
you must have a program that reads what Bacula writes into the FIFO...with
the RunBeforeJob directive." And then I can see an example of a fifo device
resource
So I configured a job with RunBeforeJob option specifying a script which
dumps the database to a fifofile. Then I create a new FileSet with
readfifo=yes because this option, "If enabled, tells the Client to read the
data on a backup and write the data on a restore to any FIFO (pipe) that is
explicitly mentioned in the FileSet. In this case, you must have a program
already running that writes into the FIFO for a backup or reads from the
FIFO on a restore". Moreover, I create a Storage named FifoStorage, that is
configured in Storage daemon.
I'm not sure if I'm doing things right, but I'm gonna explain you what is my
intention: When I run a backupMySQL, the scripts initiates the dump to a
fifofile while the client reads that file backing up the database whitout
using extra space.
Now, my question is: Do you mean that I have to define the fifo only in one
of the resource? Which will be a correct configuration? I'm confused about
all the documents I've read
Thank you
ISABEL
-----Mensaje original-----
De: Arno Lehmann [mailto:al AT its-lehmann DOT de]
Enviado el: viernes, 31 de octubre de 2008 11:04
Para: bacula-users AT lists.sourceforge DOT net
Asunto: Re: [Bacula-users] Storage daemon didn't accept Device
"FifoStorage"
Hi,
31.10.2008 10:27, Isabel Bermejo wrote:
> Hi
> I'm trying to backup MySQL database using bacula and a FifoStorage. First
I
> configure a script named "backwithfifo" which dumps the database.
>
> #!/bin/sh
> #
> exec > /dev/null
> SCRIPTDIR=/usr/bin
> mkfifo /tmp/tmpfifo
> cd $SCRIPTDIR
> ./mysqldump -h localhost -u root -pclipper iesa > /tmp/tmpfifo
> res=$?
> if (test $res -ne 0) then
> logger -t mysql -isd ERROR Dump done with errors. Exit status $res
> else
> logger -t mysql -isd OK Dump done with no errors. Exit status $res
> fi
I assume this works correctly.
> Then I modify Bacula files to run the backup, using the script, to a
> fifofile.
>
> In Bacula-Director file:
> Job {
> Name = "BackupMySQL"
> Type = Backup
> Client = client-fd
> FileSet = "MySQLdb"
> Schedule = "WeeklyCycleAfterBackup"
> Storage = FifoStorage
> Messages = Standard
> Pool = MySQLPool
> RunBeforeJob = "/etc/bacula/MyScripts/backwithfifo" #this is the script
> which dumps the database to a fifofile
> Write Bootstrap = "/var/lib/bacula/BackupMySQL.bsr"
>
> FileSet {
> Name = "MySQLdb"
> Include {
> Options {
> signature = MD5
> readfifo = yes
> }
> File = /tmp/fifofiles
> }
> }
>
> Storage {
> Name = FifoStorage
> Address = xxx.xxx.xxx.xxx
> SDPort = 9103
> Password = "password"
> Device = FifoStorage
> Media Type = Fifo
> }
>
> In Bacula-Storage file:
> Device {
> Name = FifoStorage
> Media Type = Fifo
> Archive Device = /tmp/fifofiles
This is probably not what you want - the FIFO is read by the FD and
you've already set that up above.
Here, you need a normal storage device - either a tape drive or a disk
directory where the volumes will be written to. The SD doesn't need to
know anything about the FIFO setup.
> Label Media = yes
> Random Access = no
> AutomaticMount = no
> RemovableMedia = no
> MaximumOpenWait = 60
> AlwaysOpen = no
Those settings also look like you tried to set up a FIFO for storage -
you can do that, but is is in no way related to the FIFO where the
backed up data comes from.
You'd need a FIFO created on the SD, which would direct its output
somewhere else.
You probably should simply try this with a regular disk-based storage
first.
Arno
> }
>
> When I run the backup job, it results on an error:
>
> 31-Oct 10:08 client-dir: RunBefore: mysql[28164]: Volcado realizado
> correctamente.Exit status 0
> 31-Oct 10:08 client-dir: No prior Full backup Job record found.
> 31-Oct 10:08 client-dir: No prior or suitable Full backup found. Doing
FULL
> backup.
> 31-Oct 10:08 client-dir: Start Backup JobId 10063,
> Job=BackupMySQL.2008-10-31_10.07.42
> 31-Oct 10:08 client-sd: BackupMySQL.2008-10-31_10.07.42 Fatal error:
> Archive "FifoStorage" requested by DIR could not be opened or does
not
> exist.
> 31-Oct 10:08 client-dir: BackupMySQL.2008-10-31_10.07.42 Fatal error:
> Storage daemon didn't accept Device "FifoStorage" because:
> 3925 Device "FifoStorage" could not be opened or does not exist.
> 31-Oct 10:08 client-dir: BackupMySQL.2008-10-31_10.07.42 Error: Bacula
> 1.36.3 (22Apr05): 31-Oct-2008 10:08:26
> JobId: 10063
> Job: BackupMySQL.2008-10-31_10.07.42
> Backup Level: Full (upgraded from Incremental)
> Client: client-fd
> FileSet: "MySQLdb" 2008-10-31 09:59:45
> Pool: "MySQLPool"
> Storage: "FifoStorage"
> Start time: 31-Oct-2008 10:07:44
> End time: 31-Oct-2008 10:08:26
> FD Files Written: 0
> SD Files Written: 0
> FD Bytes Written: 0
> SD Bytes Written: 0
> Rate: 0.0 KB/s
> Software Compression: None
> Volume name(s):
> Volume Session Id: 2
> Volume Session Time: 1225443462
> Last Volume Bytes: 0
> Non-fatal FD errors: 0
> SD Errors: 0
> FD termination status:
> SD termination status:
> Termination: *** Backup Error ***
>
> As you can see, the error is "Storage daemon didn't accept Device
> FifoStorage because could not be opened or does not exist". I can see the
> file fifofile in /tmp/fifofile and I can do a cat but the Storage Daemon
> seems can't open the file. I don't know how to configure a backup job for
a
> database using fifo. Can anyone tell me where is the error?
>
> Thanks a lot
> ISABEL
>
>
> -------------------------------------------------------------------------
> 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
>
--
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
-------------------------------------------------------------------------
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
|