Re: [Bacula-users] Run ClientBeforeJob script in background instead of waiting for it.

2019-01-07 Thread Dimitri Maziuk via Bacula-users
On 1/7/19 12:32 PM, David Brodbeck wrote:
> Hmm, good catch on the redirect, but it still doesn't work. Neither does
> adding the exec line.

nohup just does what is says: no HUP. You may want to try `CMD & ;
disown` if your shell has disown, or `setsid CMD`. You'd still ned the
redirects.

Or rewrite your script in something that lets you do a proper double-fork.
-- 
Dimitri Maziuk
Programmer/sysadmin
BioMagResBank, UW-Madison -- http://www.bmrb.wisc.edu



signature.asc
Description: OpenPGP digital signature
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


Re: [Bacula-users] Run ClientBeforeJob script in background instead of waiting for it.

2019-01-07 Thread David Brodbeck
Forgot to CC this to the list, but it's the best solution I've gotten so
far. It works, but on macOS you have to turn the 'at' service on first. I
ended up with this:

#!/bin/bash

PATH=/bin:/usr/bin:/usr/local/bin

# Script to prevent system sleep while bacula is working.
# see bacula-idle-watch.sh for details.

# We need to launch with 'at' to avoid bacula-fd hanging waiting for script
# completion. First we make sure atrun is enabled.
launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist

echo '/usr/bin/caffeinate -s /usr/local/bin/bacula-idle-watch.sh' | at now

---

Note that by nature 'at' is not immediate. It may take a minute or so for
the script to launch, so plan accordingly.

On Sat, Jan 5, 2019 at 8:18 AM Josh Fisher  wrote:

> In the ClinetBeforeJob script, use the at command to schedule the launch
> of the caffeinate job with a runtime of 'now'. For example,
>
> at -f caffeinate-script.sh now
>
>
> On 1/4/2019 2:36 PM, David Brodbeck wrote:
>
> This is driving me nuts because I feel like it should be straightforward
> and I must be missing something basic.
>
> I want to launch the caffeinate command on OS X before starting a job.
> Caffeinate takes a command as an argument, then goes into the background
> and keeps the machine awake until the command exits. I use this after
> waking machines up using a WOL script.
>
> When tested from the command line, caffeinate immediately backgrounds
> itself. However, when I try to run it as a Bacula ClientBeforeJob script,
> bacula-fd waits around forever for caffeiniate to exit.
>
> Here's what I've tried so far:
> - Having bacula run a script that then runs caffeinate.
> - Having bacula run a script that then runs caffeinate using nohup.
> - Having the script redirect stdin, stdout, and stderr of caffeinate to
> /dev/null
> - Adding an ampersand after the script in the bacula ClientBeforeJob
> specification.
>
> What invariably happens is the bash process created by bacula becomes a
> zombie and waits for caffeinate to exit. Inspecting the caffeinate process
> with lsof shows all of the file handles are redirected to /dev/null as
> expected, so I don't think this is a case of stdin or stdout causing
> problems. In all cases the only way to get bacula to finish the backup is
> to kill the script that caffeinate is running.
>
> I can't figure out why I can't get bacula-fd to move on after the script
> goes into the background. When I run the script manually from the command
> line it backgrounds immediately.
>
> The oddest thing is this worked fine on clients using bacula-fd version
> 7.4.x, but fails on a client using 9.2.0.
>
> Here's the script bacula-fd runs, as it currently stands:
>
> --
> #!/bin/bash
>
> PATH=/bin:/usr/bin:/usr/local/bin
>
> # Script to prevent system sleep while bacula is working.
> # see bacula-idle-watch.sh for details.
>
> nohup caffeinate -s bacula-idle-watch.sh 2>&1 >/dev/null  --
>
> Here's the contents of bacula-idle-watch.sh; it just waits to exit until
> there's no bacula network connection anymore. caffeinate will terminate
> once the script exits.
>
> --
> #!/bin/sh
>
> # This script delays a few minutes, then loops, checking for bacula-fd
> # connections. When there are none, it exits.
> # This is meant to be run with caffeinate in a bacula before-job script,
> # e.g. "caffeinate -s bacula-idle-watch.sh"
> # This will prevent the machine from idle-sleeping until bacula finishes.
>
> PATH=/bin:/usr/bin:/usr/sbin
>
> # We put a long delay here in case it takes bacula a while to get going.
> sleep 300
>
> # Now loop while looking at the network connection.
> # We limit checks to once every five minutes because worst-case the machine
> # just waits an extra five minutes to sleep.
> while ( netstat -an | grep '\.9102.*ESTABLISHED' >/dev/null ) ; do
> sleep 300
> done
>
> # Once the script exits, the wake-lock is released.
> exit 0
> --
>
>
> --
> David Brodbeck
> System Administrator, Department of Mathematics
> University of California, Santa Barbara
>
>
>
> ___
> Bacula-users mailing 
> listBacula-users@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/bacula-users
>
>

-- 
David Brodbeck
System Administrator, Department of Mathematics
University of California, Santa Barbara
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


Re: [Bacula-users] Run ClientBeforeJob script in background instead of waiting for it.

2019-01-07 Thread Wanderlei Huttel
Hello David
I know that is not an elegant way, but you could try to execute a script
calling another one
I don't know if will works, but you can try.

#!/bin/bash
nohup caffeinate -s bacula-idle-watch.sh >/dev/null 2>&1 http://www.bacula.com.br


Em seg, 7 de jan de 2019 às 17:06, David Brodbeck 
escreveu:

> Hmm, good catch on the redirect, but it still doesn't work. Neither does
> adding the exec line.
>
> Running lsof on the caffeinate process shows stdin, stdout, and stderr are
> properly connected to /dev/null; same with bacula-idle-watch.sh. I can't
> determine what the bacula-caffeinate.sh script's file handles are because
> by the time I get a chance to run lsof, it's already exited and become a
> zombie. bacula-fd continues to wait for it none the less.
>
> Is there any way to tell bacula-fd to not wait for script output, as in
> the 7.4.x behavior? I realize I'm not really using this functionality for
> the intended purpose, but I can't be the only one with this sort of use
> case.
>
> On Mon, Jan 7, 2019 at 6:26 AM Martin Simmons 
> wrote:
>
>> Your script redirects stderr to the original stdout of the script.  To
>> redirect both to /dev/null, the 2>&1 must follow the >/dev/null like this:
>>
>> nohup caffeinate -s bacula-idle-watch.sh >/dev/null 2>&1 >
>> Bacula 9.2.0 collects the stderr from ClientBeforeJob commands, but Bacula
>> clients running 7.4.x would have worked because they discard it.
>>
>> If that doesn't fix it, then try redirecting the shell's stdio as well:
>>
>> exec >/dev/null 2>&1 > nohup caffeinate -s bacula-idle-watch.sh &
>>
>> __Martin
>>
>>
>> > On Fri, 4 Jan 2019 11:36:06 -0800, David Brodbeck said:
>> >
>> > This is driving me nuts because I feel like it should be straightforward
>> > and I must be missing something basic.
>> >
>> > I want to launch the caffeinate command on OS X before starting a job.
>> > Caffeinate takes a command as an argument, then goes into the background
>> > and keeps the machine awake until the command exits. I use this after
>> > waking machines up using a WOL script.
>> >
>> > When tested from the command line, caffeinate immediately backgrounds
>> > itself. However, when I try to run it as a Bacula ClientBeforeJob
>> script,
>> > bacula-fd waits around forever for caffeiniate to exit.
>> >
>> > Here's what I've tried so far:
>> > - Having bacula run a script that then runs caffeinate.
>> > - Having bacula run a script that then runs caffeinate using nohup.
>> > - Having the script redirect stdin, stdout, and stderr of caffeinate to
>> > /dev/null
>> > - Adding an ampersand after the script in the bacula ClientBeforeJob
>> > specification.
>> >
>> > What invariably happens is the bash process created by bacula becomes a
>> > zombie and waits for caffeinate to exit. Inspecting the caffeinate
>> process
>> > with lsof shows all of the file handles are redirected to /dev/null as
>> > expected, so I don't think this is a case of stdin or stdout causing
>> > problems. In all cases the only way to get bacula to finish the backup
>> is
>> > to kill the script that caffeinate is running.
>> >
>> > I can't figure out why I can't get bacula-fd to move on after the script
>> > goes into the background. When I run the script manually from the
>> command
>> > line it backgrounds immediately.
>> >
>> > The oddest thing is this worked fine on clients using bacula-fd version
>> > 7.4.x, but fails on a client using 9.2.0.
>> >
>> > Here's the script bacula-fd runs, as it currently stands:
>> >
>> > --
>> > #!/bin/bash
>> >
>> > PATH=/bin:/usr/bin:/usr/local/bin
>> >
>> > # Script to prevent system sleep while bacula is working.
>> > # see bacula-idle-watch.sh for details.
>> >
>> > nohup caffeinate -s bacula-idle-watch.sh 2>&1 >/dev/null > > --
>> >
>> > Here's the contents of bacula-idle-watch.sh; it just waits to exit until
>> > there's no bacula network connection anymore. caffeinate will terminate
>> > once the script exits.
>> >
>> > --
>> > #!/bin/sh
>> >
>> > # This script delays a few minutes, then loops, checking for bacula-fd
>> > # connections. When there are none, it exits.
>> > # This is meant to be run with caffeinate in a bacula before-job script,
>> > # e.g. "caffeinate -s bacula-idle-watch.sh"
>> > # This will prevent the machine from idle-sleeping until bacula
>> finishes.
>> >
>> > PATH=/bin:/usr/bin:/usr/sbin
>> >
>> > # We put a long delay here in case it takes bacula a while to get going.
>> > sleep 300
>> >
>> > # Now loop while looking at the network connection.
>> > # We limit checks to once every five minutes because worst-case the
>> machine
>> > # just waits an extra five minutes to sleep.
>> > while ( netstat -an | grep '\.9102.*ESTABLISHED' >/dev/null ) ; do
>> > sleep 300
>> > done
>> >
>> > # Once the script exits, the wake-lock is released.
>> > exit 0
>> > --
>> >
>> >
>> > --
>> > David Brodbeck
>> > System Administrator, Department of Mathematics
>> > University of California, Santa Barbara
>> >
>>
>
>
> --
> 

Re: [Bacula-users] Run ClientBeforeJob script in background instead of waiting for it.

2019-01-07 Thread David Brodbeck
Hmm, good catch on the redirect, but it still doesn't work. Neither does
adding the exec line.

Running lsof on the caffeinate process shows stdin, stdout, and stderr are
properly connected to /dev/null; same with bacula-idle-watch.sh. I can't
determine what the bacula-caffeinate.sh script's file handles are because
by the time I get a chance to run lsof, it's already exited and become a
zombie. bacula-fd continues to wait for it none the less.

Is there any way to tell bacula-fd to not wait for script output, as in the
7.4.x behavior? I realize I'm not really using this functionality for the
intended purpose, but I can't be the only one with this sort of use case.

On Mon, Jan 7, 2019 at 6:26 AM Martin Simmons  wrote:

> Your script redirects stderr to the original stdout of the script.  To
> redirect both to /dev/null, the 2>&1 must follow the >/dev/null like this:
>
> nohup caffeinate -s bacula-idle-watch.sh >/dev/null 2>&1 
> Bacula 9.2.0 collects the stderr from ClientBeforeJob commands, but Bacula
> clients running 7.4.x would have worked because they discard it.
>
> If that doesn't fix it, then try redirecting the shell's stdio as well:
>
> exec >/dev/null 2>&1  nohup caffeinate -s bacula-idle-watch.sh &
>
> __Martin
>
>
> > On Fri, 4 Jan 2019 11:36:06 -0800, David Brodbeck said:
> >
> > This is driving me nuts because I feel like it should be straightforward
> > and I must be missing something basic.
> >
> > I want to launch the caffeinate command on OS X before starting a job.
> > Caffeinate takes a command as an argument, then goes into the background
> > and keeps the machine awake until the command exits. I use this after
> > waking machines up using a WOL script.
> >
> > When tested from the command line, caffeinate immediately backgrounds
> > itself. However, when I try to run it as a Bacula ClientBeforeJob script,
> > bacula-fd waits around forever for caffeiniate to exit.
> >
> > Here's what I've tried so far:
> > - Having bacula run a script that then runs caffeinate.
> > - Having bacula run a script that then runs caffeinate using nohup.
> > - Having the script redirect stdin, stdout, and stderr of caffeinate to
> > /dev/null
> > - Adding an ampersand after the script in the bacula ClientBeforeJob
> > specification.
> >
> > What invariably happens is the bash process created by bacula becomes a
> > zombie and waits for caffeinate to exit. Inspecting the caffeinate
> process
> > with lsof shows all of the file handles are redirected to /dev/null as
> > expected, so I don't think this is a case of stdin or stdout causing
> > problems. In all cases the only way to get bacula to finish the backup is
> > to kill the script that caffeinate is running.
> >
> > I can't figure out why I can't get bacula-fd to move on after the script
> > goes into the background. When I run the script manually from the command
> > line it backgrounds immediately.
> >
> > The oddest thing is this worked fine on clients using bacula-fd version
> > 7.4.x, but fails on a client using 9.2.0.
> >
> > Here's the script bacula-fd runs, as it currently stands:
> >
> > --
> > #!/bin/bash
> >
> > PATH=/bin:/usr/bin:/usr/local/bin
> >
> > # Script to prevent system sleep while bacula is working.
> > # see bacula-idle-watch.sh for details.
> >
> > nohup caffeinate -s bacula-idle-watch.sh 2>&1 >/dev/null  > --
> >
> > Here's the contents of bacula-idle-watch.sh; it just waits to exit until
> > there's no bacula network connection anymore. caffeinate will terminate
> > once the script exits.
> >
> > --
> > #!/bin/sh
> >
> > # This script delays a few minutes, then loops, checking for bacula-fd
> > # connections. When there are none, it exits.
> > # This is meant to be run with caffeinate in a bacula before-job script,
> > # e.g. "caffeinate -s bacula-idle-watch.sh"
> > # This will prevent the machine from idle-sleeping until bacula finishes.
> >
> > PATH=/bin:/usr/bin:/usr/sbin
> >
> > # We put a long delay here in case it takes bacula a while to get going.
> > sleep 300
> >
> > # Now loop while looking at the network connection.
> > # We limit checks to once every five minutes because worst-case the
> machine
> > # just waits an extra five minutes to sleep.
> > while ( netstat -an | grep '\.9102.*ESTABLISHED' >/dev/null ) ; do
> > sleep 300
> > done
> >
> > # Once the script exits, the wake-lock is released.
> > exit 0
> > --
> >
> >
> > --
> > David Brodbeck
> > System Administrator, Department of Mathematics
> > University of California, Santa Barbara
> >
>


-- 
David Brodbeck
System Administrator, Department of Mathematics
University of California, Santa Barbara
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


Re: [Bacula-users] Run ClientBeforeJob script in background instead of waiting for it.

2019-01-07 Thread Martin Simmons
Your script redirects stderr to the original stdout of the script.  To
redirect both to /dev/null, the 2>&1 must follow the >/dev/null like this:

nohup caffeinate -s bacula-idle-watch.sh >/dev/null 2>&1 /dev/null 2>&1  On Fri, 4 Jan 2019 11:36:06 -0800, David Brodbeck said:
> 
> This is driving me nuts because I feel like it should be straightforward
> and I must be missing something basic.
> 
> I want to launch the caffeinate command on OS X before starting a job.
> Caffeinate takes a command as an argument, then goes into the background
> and keeps the machine awake until the command exits. I use this after
> waking machines up using a WOL script.
> 
> When tested from the command line, caffeinate immediately backgrounds
> itself. However, when I try to run it as a Bacula ClientBeforeJob script,
> bacula-fd waits around forever for caffeiniate to exit.
> 
> Here's what I've tried so far:
> - Having bacula run a script that then runs caffeinate.
> - Having bacula run a script that then runs caffeinate using nohup.
> - Having the script redirect stdin, stdout, and stderr of caffeinate to
> /dev/null
> - Adding an ampersand after the script in the bacula ClientBeforeJob
> specification.
> 
> What invariably happens is the bash process created by bacula becomes a
> zombie and waits for caffeinate to exit. Inspecting the caffeinate process
> with lsof shows all of the file handles are redirected to /dev/null as
> expected, so I don't think this is a case of stdin or stdout causing
> problems. In all cases the only way to get bacula to finish the backup is
> to kill the script that caffeinate is running.
> 
> I can't figure out why I can't get bacula-fd to move on after the script
> goes into the background. When I run the script manually from the command
> line it backgrounds immediately.
> 
> The oddest thing is this worked fine on clients using bacula-fd version
> 7.4.x, but fails on a client using 9.2.0.
> 
> Here's the script bacula-fd runs, as it currently stands:
> 
> --
> #!/bin/bash
> 
> PATH=/bin:/usr/bin:/usr/local/bin
> 
> # Script to prevent system sleep while bacula is working.
> # see bacula-idle-watch.sh for details.
> 
> nohup caffeinate -s bacula-idle-watch.sh 2>&1 >/dev/null  --
> 
> Here's the contents of bacula-idle-watch.sh; it just waits to exit until
> there's no bacula network connection anymore. caffeinate will terminate
> once the script exits.
> 
> --
> #!/bin/sh
> 
> # This script delays a few minutes, then loops, checking for bacula-fd
> # connections. When there are none, it exits.
> # This is meant to be run with caffeinate in a bacula before-job script,
> # e.g. "caffeinate -s bacula-idle-watch.sh"
> # This will prevent the machine from idle-sleeping until bacula finishes.
> 
> PATH=/bin:/usr/bin:/usr/sbin
> 
> # We put a long delay here in case it takes bacula a while to get going.
> sleep 300
> 
> # Now loop while looking at the network connection.
> # We limit checks to once every five minutes because worst-case the machine
> # just waits an extra five minutes to sleep.
> while ( netstat -an | grep '\.9102.*ESTABLISHED' >/dev/null ) ; do
> sleep 300
> done
> 
> # Once the script exits, the wake-lock is released.
> exit 0
> --
> 
> 
> -- 
> David Brodbeck
> System Administrator, Department of Mathematics
> University of California, Santa Barbara
> 


___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


[Bacula-users] Bacula9.4.1 rpm Binaries package

2019-01-07 Thread KEN SAWADA
Hi

Bacula 9.4.1 's rpm package will not be released,
but will Debian, Ubuntu only release binary packages
in the future?

Since CentOS is most used in Japan, I am waiting for
the rpm package.

Best regards
Ken Sawada
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users


[Bacula-users] Bacula-Web 8.2.0 released

2019-01-07 Thread Davide Franco
Dear all,

I'm pleased to inform you that Bacula-Web 8.2.0 is available from now.

This version Include 2 new features and 7 bug fixes

The release notes is available here
https://www.bacula-web.org/2019/01/06/bacula-web-8-2-0/

Latest documentation is available here
http://docs.bacula-web.org/

If you've found a bug, or need a new feature, please use de bug tracker.
https://bugs.bacula-web.org

As usual, any question or feedback are more than welcome :)

Thanks for supporting and using Bacula-Web :)

Best regards

Davide

Web site - https://www.bacula-web.org
Follow Bacula-Web on GitHub - https://github.com/bacula-web/bacula-web
___
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users