Bacula-users

Re: [Bacula-users] FIFO Backup Questions

2015-02-27 18:56:30
Subject: Re: [Bacula-users] FIFO Backup Questions
From: Heitor Faria <heitor AT bacula.com DOT br>
To: Josh Fisher <jfisher AT pvct DOT com>
Date: Fri, 27 Feb 2015 20:53:07 -0300 (BRT)
Dear Bacula Users,

1. Why FIFO isn't more popular for database dumps backups? Is there any drawback?
2. I inserted RedFifo=yes on FileSet Options and configured a simple RunBeforeJob script (below) to test FIFO backup, but the backup job stalls waitng for script termination. Am I missing something?

The FIFO special file created by mkfifo will block for read or write until both ends of the FIFO are opened. See man mkfifo(3).
Thanks Josh, I'm aware. I think that's why ReadFifo option exists on Bacula:

"readfifo=yesnoIf 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. This can be accomplished with the RunBeforeJob directive. If this is not the case, Bacula will hang indefinitely on reading/writing the FIFO. When this is not enabled (default), the Client simply saves the directory entry for the FIFO.

Unfortunately, when Bacula runs a RunBeforeJob, it waits until that script terminates, and if the script accesses the FIFO to write into the it, the Bacula job will block and everything will stall. However, Vladimir Stavrinov as supplied tip that allows this feature to work correctly. He simply adds the following to the beginning of the RunBeforeJob script:

   exec > /dev/null"
Ps.: I tried the exec > /dev/null



[ -p /tmp/tubo ] ||mkfifo /tmp/tubo
ls -l > /tmp/tubo




------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users