Keep in mind that bpipe simply "executes" the "program" on the other
end, which means that if you execute a binary it does not run under the
shell.  If you put the execution of the binary inside a file then
execute it, normally you have a #!/bin/sh at the top of the file and
hence the binary is executed under a shell.

This could make a difference if something in your plugin command
contains shell characters ...

Best regards,
Kern

On 01/25/2016 12:42 AM, Silver Salonen wrote:
> Yeah, so what can we conclude from this now? :)
>
> --
> Silver
>
> On 22.01.2016 17:55, Wanderlei Huttel wrote:
>> Hi Silver
>>
>> I've made a test using your script and worked fine!
>> I'm using bacula 7.4.0.
>>
>> - MySQL user has all privileges;
>> grant all on *.* to 'user'@'localhost' identified by 'password';
>> - The directory and file /mnt/fifo/intranet.sql doesn't exists
>> - Permission of script is 775
>>
>> ##################################################
>> # FileSet teste bpipe
>> FileSet {
>>   Name = "FileSet_Bpipe_Bacula"
>>   Include {
>>      Options {
>>         signature = md5
>>         compression = gzip
>>      }
>>   Plugin =
>> "bpipe:/backup/dump_mysql.sql:/usr/local/bin/backup_mysql.sh
>> intranet:/usr/local/bin/backup_mysql.sh -R"
>>   }
>> }
>>
>> ##################################################
>>
>>
>>
>> Backup Log
>> 2016-01-22 13:43:01   bacula-dir JobId 3012: Start Backup JobId 3012, 
>> Job=Backup_Bpipe_Bacula.2016-01-22_13.42.59_48
>> 2016-01-22 13:43:01   bacula-dir JobId 3012: Using Device "DiscoLocal1" to 
>> write.
>> 2016-01-22 13:43:01   bacula-sd JobId 3012: Volume "Volume-Default-0001" 
>> previously written, moving to end of data.
>> 2016-01-22 13:43:01   bacula-sd JobId 3012: Ready to append to end of Volume 
>> "Volume-Default-0001" size=35,757,662
>> 2016-01-22 13:43:05   bacula-sd JobId 3012: Elapsed time=00:00:04, Transfer 
>> rate=1.680 M Bytes/second
>> 2016-01-22 13:43:05   bacula-sd JobId 3012: Sending spooled attrs to the 
>> Director. Despooling 285 bytes ...
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: Bacula bacula-dir 7.4.0 
>> (16Jan16):
>>   Build OS:               x86_64-unknown-linux-gnu debian 8.2
>>   JobId:                  3012
>>   Job:                    Backup_Bpipe_Bacula.2016-01-22_13.42.59_48
>>   Backup Level:           Full
>>   Client:                 "srv_bacula-fd" 7.4.0 (16Jan16) 
>> x86_64-unknown-linux-gnu,debian,8.2
>>   FileSet:                "FileSet_Bpipe_Bacula" 2016-01-22 13:42:59
>>   Pool:                   "Pool-Default" (From Job resource)
>>   Catalog:                "MyCatalog" (From Client resource)
>>   Storage:                "StorageLocal1" (From Pool resource)
>>   Scheduled time:         22-Jan-2016 13:42:59
>>   Start time:             22-Jan-2016 13:43:01
>>   End time:               22-Jan-2016 13:43:05
>>   Elapsed time:           4 secs
>>   Priority:               10
>>   FD Files Written:       1
>>   SD Files Written:       1
>>   FD Bytes Written:       6,722,331 (6.722 MB)
>>   SD Bytes Written:       6,722,542 (6.722 MB)
>>   Rate:                   1680.6 KB/s
>>   Software Compression:   85.1% 6.7:1
>>   Snapshot/VSS:           no
>>   Encryption:             no
>>   Accurate:               no
>>   Volume name(s):         Volume-Default-0001
>>   Volume Session Id:      7
>>   Volume Session Time:    1453470218
>>   Last Volume Bytes:      42,492,736 (42.49 MB)
>>   Non-fatal FD errors:    0
>>   SD Errors:              0
>>   FD termination status:  OK
>>   SD termination status:  OK
>>   Termination:            Backup OK
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: Begin pruning Jobs older than 1 
>> year .
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: No Jobs found to prune.
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: Begin pruning Files.
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: No Files found to prune.
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: End auto prune.
>> 2016-01-22 13:43:05   bacula-dir JobId 3012: shell command: run AfterJob 
>> "/etc/bacula/scripts/send_whatsapp.sh "Client=srv_bacula-fd" "JobId=3012" 
>> "JobName=Backup_Bpipe_Bacula" "JobBytes=6722331" "JobFiles=1" "Level=Full" 
>> "Pool=Pool-Default" "Storage=StorageLocal1" "Status=OK""
>> 2016-01-22 13:43:06   bacula-dir JobId 3012: AfterJob: 
>> INFO:yowsup.demos.sendclient.layer:Message sent
>>
>>
>>
>> Restore Log
>> 2016-01-22 13:44:44   bacula-dir JobId 3013: Start Restore Job 
>> Restore_Files.2016-01-22_13.44.42_56
>> 2016-01-22 13:44:44   bacula-dir JobId 3013: Using Device "DiscoLocal1" to 
>> read.
>> 2016-01-22 13:44:44   bacula-sd JobId 3013: Ready to read from volume 
>> "Volume-Default-0001" on file device "DiscoLocal1" (/mnt/disco_usb).
>> 2016-01-22 13:44:44   bacula-sd JobId 3013: Forward spacing Volume 
>> "Volume-Default-0001" to file:block 0:35757662.
>> 2016-01-22 13:44:45   bacula-sd JobId 3013: End of Volume at file 0 on 
>> device "DiscoLocal1" (/mnt/disco_usb), Volume "Volume-Default-0001"
>> 2016-01-22 13:44:45   bacula-sd JobId 3013: End of all volumes.
>> 2016-01-22 13:44:45   bacula-sd JobId 3013: Elapsed time=00:00:01, Transfer 
>> rate=6.722 M Bytes/second
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: Bacula bacula-dir 7.4.0 
>> (16Jan16):
>>   Build OS:               x86_64-unknown-linux-gnu debian 8.2
>>   JobId:                  3013
>>   Job:                    Restore_Files.2016-01-22_13.44.42_56
>>   Restore Client:         srv_bacula-fd
>>   Start time:             22-Jan-2016 13:44:44
>>   End time:               22-Jan-2016 13:45:57
>>   Files Expected:         1
>>   Files Restored:         1
>>   Bytes Restored:         45,185,460
>>   Rate:                   619.0 KB/s
>>   FD Errors:              0
>>   FD termination status:  OK
>>   SD termination status:  OK
>>   Termination:            Restore OK
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: Begin pruning Jobs older than 1 
>> year .
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: No Jobs found to prune.
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: Begin pruning Files.
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: No Files found to prune.
>> 2016-01-22 13:45:57   bacula-dir JobId 3013: End auto prune.
>> Best Regards
>> Wanderlei
>>
>> 2016-01-22 11:21 GMT-02:00 Silver Salonen <silver.salo...@gmail.com
>> <mailto:silver.salo...@gmail.com>>:
>>
>>     Debug output concerning mysqldump from /opt/bacula/bin/bacula-fd
>>     -d 200 -c bacula-fd.conf -f
>>
>>>     job.c:1227-54555 P bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     fd_plugins.c:329-54555 plugin
>>>     cmd=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     fd_plugins.c:127-54555 name=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R len=5
>>>     plugin=bpipe-fd.so plen=5
>>>     bpipe-fd.c:215-54555 bpipe-fd:
>>>     PluginCommand=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     accurate.c:230-54555 add fname=</mysql/mysqldump.sql> lstat=A A
>>>     IHA A A A A -B BAA B BWoVsJ BWoVsJ BWoVsJ A A E  delta_seq=0 chksum=
>>>     fd_plugins.c:329-54555 plugin
>>>     cmd=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     fd_plugins.c:505-54555 plugin=bpipe-fd.so plen=5
>>>     cmd=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R len=5
>>>     fd_plugins.c:127-54555 name=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R len=5
>>>     plugin=bpipe-fd.so plen=5
>>>     fd_plugins.c:521-54555 Command plugin =
>>>     bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     bpipe-fd.c:253-54555 bpipe-fd: pluginEvent
>>>     cmd=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     fd_plugins.c:583-54555 startBackup returned type=3,
>>>     fname=/srv/mysqldump.sql
>>>     backup.c:289-54555 FT_REG saving: /srv/mysqldump.sql
>>>     backup.c:390-54555 bfiled: sending /srv/mysqldump.sql to stored
>>>     fd_plugins.c:778-54555
>>>     send_plugin_name=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     fd_plugins.c:802-54555 send plugin start/end: 1 1 1
>>>     bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     backup.c:1352-54555 No strip for /srv/mysqldump.sql
>>>     bpipe-fd.c:360-54555 bpipe-fd: IO_OPEN fd=7f33e4003528
>>>     reader=/bin/sh /etc/bacula/scripts/mysqldump.sh mydb
>>>     fd_plugins.c:778-54555
>>>     send_plugin_name=bpipe:/srv/mysqldump.sql:/bin/sh
>>>     /etc/bacula/scripts/mysqldump.sh
>>>     mydb:/etc/bacula/scripts/mysqldump.sh -R
>>>     accurate.c:46-54555 </srv/mysqldump.sql> not found to be marked
>>>     as seen
>>>     accurate.c:153-54555 deleted fname=/mysql/mysqldump.sql seen=0
>>
>>     As accurate.c complained about the file I disabled Accurate
>>     backup, but the warning remains:
>>>     JobId 54556: Warning: Cannot stat file /srv/mysqldump.sql:
>>>     ERR=No such file or directory
>>
>>     --
>>     Silver
>>
>>     On 22.01.2016 13:45, Silver Salonen wrote:
>>>     I know how bpipe works and my method using script is to work
>>>     around an issue with bpipe erroring out with "Error closing
>>>     stream for pseudo file" (no idea why, but running the same
>>>     mysqldump command from inside script solves this). Contents of
>>>     the script is really straight-forward and doesn't change
>>>     behavior of the dump being sent to STDOUT:
>>>
>>>>     |#!/bin/sh|
>>>>      
>>>>     |user=backup|
>>>>     |pswd=PASSWORD|
>>>>      
>>>>     |if| |[ ||"$1"| |= ||"-R"| |]; ||then|
>>>>     |    ||/usr/bin/mysql| |--default-character-||set||=utf8
>>>>     -u ||"$user"| |-p||"$pswd"|
>>>>     |else|
>>>>     |    ||/usr/bin/mysqldump| |--single-transaction --routines 
>>>>     --events --opt --max_allowed_packet 128M
>>>>     --default-character-||set||=utf8
>>>>     --log-error=||/var/log/mysql/mysqldump_err||.log
>>>>     -u ||"$user"| |-p||"$pswd"| |--databases $*|
>>>>     |fi|
>>>>      
>>>>     |exit| |0|
>>>
>>>     BTW, I discovered that the error "bpipe-fd: Error closing for
>>>     file /srv/mysqldump.sql" was caused of the wrong credentials I
>>>     had in the script. The first error still remains.
>>>
>>>     --
>>>     Silver
>>>
>>>     On 22.01.2016 12:55, Heitor Faria wrote:
>>>>
>>>>         Hello Silver,
>>>>
>>>>     Hello Silver [2],
>>>>
>>>>     Please
>>>>     read: 
>>>> http://bacula.us/using-bpipe-to-stream-dumps-vm-clones-and-another-data-to-your-backup
>>>>     bpipe reads a command data that is directed to stdout and
>>>>     stores in backup with the name you put in the 2nd variable
>>>>     (fifo path) => I hope is what you are trying to achieve with
>>>>     your scripts. While in restore Bacula uses the last bpipe
>>>>     configuration variable (command) to read from stdin and restore
>>>>     your data with the application of your choice. I never saw a
>>>>     bpipe usage documentation with scripts, but with commands
>>>>     directly. E.g.: Plugin =
>>>>     “bpipe:/mnt/fifo/heitorfaria.sql:mysqldump -u root -ppasswd
>>>>     –databases heitorfaria:mysql -u root -ppasswd″
>>>>     The beauty of bpipe is you don't need local disk space to
>>>>     generate the dumps since fifos actually don't hold data (it
>>>>     just streams it to an end) and you may also automate
>>>>     application restore directly to it.
>>>>     I recorded some videoclasses that you can find in the same URL
>>>>     post I provided.  
>>>>
>>>>
>>>>             JobId 54542: Error: /srv/mysqldump.sql mtime changed during 
>>>> backup.
>>>>             JobId 54542: Error: bpipe-fd: Error closing for file 
>>>> /srv/mysqldump.sql: 268435583
>>>>             ...
>>>>               Termination:            Backup OK -- with warnings
>>>>
>>>>             --
>>>>             Silver
>>>>
>>>>             On 22.01.2016 10:56, Ana Emília M. Arruda wrote:
>>>>
>>>>                 Hello Silver,
>>>>
>>>>                 The same error? Have you checked permissions?
>>>>
>>>>                 Best regards,
>>>>                 Ana
>>>>
>>>>                 On Fri, Jan 22, 2016 at 9:19 AM, Silver Salonen
>>>>                 <silver.salo...@gmail.com> wrote:
>>>>
>>>>                     After creating those folders, those errors
>>>>                     still appeared. Any other ideas?
>>>>
>>>>                     --
>>>>                     Silver
>>>>
>>>>                     On 21.01.2016 13:43, Silver Salonen wrote:
>>>>
>>>>                         Aha, I indeed didn't have /mysql directory.
>>>>                         Thanks a bunch! :)
>>>>
>>>>                         PS. Script permissions are correct as
>>>>                         otherwise the dump wouldn't have been created.
>>>>
>>>>                         --
>>>>                         Silver
>>>>
>>>>                         On 21.01.2016 12:21, Heitor Faria wrote:
>>>>
>>>>                             Hello Silver,
>>>>
>>>>                             Does the /mysql directory exist? It must.
>>>>                             Make sure also bacula-fd daemon OS user
>>>>                             has proper permissions to run the scripts
>>>>
>>>>                             Regards,
>>>>                             
>>>> ===========================================================================
>>>>
>>>>                             Heitor Medrado de Faria - LPIC-III |
>>>>                             ITIL-F |  Bacula Systems Certified
>>>>                             Administrator II
>>>>                             Do you need Bacula training?
>>>>                             http://bacula.us/video-classes/
>>>>                             +55 61 8268-4220
>>>>                             <tel:%2B55%2061%208268-4220>
>>>>                             Site: http://bacula.us FB: heitor.faria
>>>>                             
>>>> ===========================================================================
>>>>
>>>>
>>>>                             Enviado por TypeApp
>>>>                             <http://www.typeapp.com/r>
>>>>
>>>>                             Em 21 de jan de 2016, pelo 06:37,
>>>>                             Silver Salonen
>>>>                             <silver.salo...@gmail.com> escrito:
>>>>
>>>>                                 Hi.
>>>>
>>>>                                 I'm backing up MySQL databases from 
>>>> several servers with Fileset line:
>>>>                                      Plugin = 
>>>>                                 
>>>> "bpipe:/mysql/mysqldump.sql:/etc/bacula/scripts/mysqldump.sh 
>>>> <http://mysqldump.sh> 
>>>>                                 mydb:/etc/bacula/scripts/mysqldump.sh 
>>>> <http://mysqldump.sh> -R"
>>>>
>>>>                                 FD on some of those servers give the 
>>>> following error:
>>>>                                      Warning: Cannot stat file 
>>>> /mysql/mysqldump.sql: ERR=No such file or 
>>>>                                 directory
>>>>
>>>>                                 I've confirmed that actually the MySQL 
>>>> database is still backed up and 
>>>>                                 can be restored too. So why the error? 
>>>> Anybody knows or can guess?
>>>>
>>>>                                 --
>>>>                                 Silver
>>>>
>>>>
>>>>     Regards,
>>>>     -- 
>>>>     =======================================================================
>>>>     Heitor Medrado de Faria  - LPIC-III | ITIL-F |  Bacula Systems
>>>>     Certified Administrator II
>>>>     Próximas aulas telepresencial ao-vivo - 15 de
>>>>     fevereiro: http://www.bacula.com.br/agenda/
>>>>     Ministro treinamento e implementação in-company
>>>>     Bacula: http://www.bacula.com.br/in-company/
>>>>     Ou assista minhas vídeo aulas
>>>>     on-line: http://www.bacula.com.br/treinamento-bacula-ed/
>>>>     61 <tel:%2B55%2061%202021-8260>8268-4220
>>>>     <tel:%2B55%2061%208268-4220>
>>>>     Site: www.bacula.com.br
>>>>     <http://www.bacula.com.br/> | Facebook: heitor.faria
>>>>     <http://www.facebook.com/heitor.faria>
>>>>     
>>>> ========================================================================
>>>
>>
>>
>>     
>> ------------------------------------------------------------------------------
>>     Site24x7 APM Insight: Get Deep Visibility into Application
>>     Performance
>>     APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>     Monitor end-to-end web transactions and take corrective actions now
>>     Troubleshoot faster and improve end-user experience. Signup Now!
>>     http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>     _______________________________________________
>>     Bacula-users mailing list
>>     Bacula-users@lists.sourceforge.net
>>     <mailto:Bacula-users@lists.sourceforge.net>
>>     https://lists.sourceforge.net/lists/listinfo/bacula-users
>>
>>
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>
>
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to