Ok Now I understand the situation. If I define a Storage Fifo Device, I'm backing up to a "virtual" device, isn't it? So I have to define a Job with RunBeforeJob option and a FileSet with readfifo=yes and as Device I can define a file device so the backup is made in a file. Supposing I'm right, I've modified my files and now I've got a Device Resource with File as Media Type. The Job and FileSet resource are the same. Now, if I run the job I get the next error: 31-Oct 12:14 client-dir: Start Backup JobId 10069, Job=BackupMySQL.2008-10-31_12.14.46 31-Oct 12:14 client-fd: RunBeforeJob: mkfifo: cannot create fifo `/tmp/fifofiles': File exists 31-Oct 12:14 client-fd: RunBeforeJob: mysql[30026]: OK Dump done with no errors.Exit status 0 31-Oct 12:14 client-sd: Recycled volume "MySQL-0006" on device "/bacula/sqli8", all previous data lost. 31-Oct 12:15 client-fd: Cannot open /tmp/fifofiles: ERR=Interrupted system call. 31-Oct 12:15 client-dir: Max Volume jobs exceeded. Marking Volume "MySQL-0006" as Used. 31-Oct 12:15 client-dir: Bacula 1.36.3 (22Apr05): 31-Oct-2008 12:15:49 JobId: 10069 Job: BackupMySQL.2008-10-31_12.14.46 Backup Level: Full Client: client-fd FileSet: "MySQLdb" 2008-10-31 12:02:38 Pool: "MySQLPool" Storage: "FifoStorage" Start time: 31-Oct-2008 12:14:48 End time: 31-Oct-2008 12:15:49 FD Files Written: 1 SD Files Written: 1 FD Bytes Written: 0 SD Bytes Written: 70 Rate: 0.0 KB/s Software Compression: None Volume name(s): MySQL-0006 Volume Session Id: 6 Volume Session Time: 1225449755 Last Volume Bytes: 515 Non-fatal FD errors: 1 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK -- with warnings
31-Oct 12:15 client-dir: Begin pruning Jobs. 31-Oct 12:15 client-dir: No Jobs found to prune. 31-Oct 12:15 client-dir: Begin pruning Files. 31-Oct 12:15 client-dir: No Files found to prune. 31-Oct 12:15 client-dir: End auto prune. The error now is "Cannot open /tmp/fifofiles: ERR=Interrupted system call." And it seems to have done the backup ok because I can see FD Files Written 1, but if I try to restore there's no file backed up. It seems that RunBeforeJob executes the script before backup is initiated. So the client, when tries to read the fifo file, finds nothing on it and the backup is empty. If, instead of using RunBeforeJob, I use ClientRunBeforeJob, the results are the same. I don't know how can I run the script and the backup at the same time so bacula client reads for a temp file and backup the information to a file without requiring more space (I mean without dumping databases to a file) Thanks ISABEL -----Mensaje original----- De: Isabel Bermejo [mailto:[EMAIL PROTECTED] Enviado el: viernes, 31 de octubre de 2008 11:35 Para: Arno Lehmann; bacula-users@lists.sourceforge.net Asunto: Re: [Bacula-users] Storage daemon didn't accept Device "FifoStorage" 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:[EMAIL PROTECTED] Enviado el: viernes, 31 de octubre de 2008 11:04 Para: bacula-users@lists.sourceforge.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@lists.sourceforge.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@lists.sourceforge.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@lists.sourceforge.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@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users