Timing of Run After

Ross Boylan <[email protected]>
Newsgroups gmane.comp.bacula.user
Message-ID <CAK3NTRD01Bpw0KqZdfO+unBnPMaCJxQ+QTYozqXQhHk1Ds2X7g@mail.gmail.com>
Apparently, ClientRunAfter scripts execute before the parent backup
job is done.  In particular, the .bsr file for the `Write Bootstrap`
directive had not been written when the client script ran.  In the
documentation I don't see anything specific about the sequencing of
RunAfter, ClientRunAfter, and WriteBootstrap relative to each other or
to anything else.  It is retrospectively unsurprising that the client
being done is not the same as the server being done.

The script executing in ClientRunAfter uses the .bsr to figure out
which volumes to copy to another system, and using the previous
version sometimes causes it to miss recent volumes, as well as copying
the old .bsr file itself.  The backup volumes are disk files.

I don't think I can run the script, which needs to run as root, in a
(server) RunAfter script since the server runs as bacula while the fd
client runs as root.  That was the only reason I didn't just use
RunAfter.  The client and server are the same machine.

So, two questions:

First, what can I assume has been completed before Client or server
Run After scripts execute?  Which of the directives for the job will
have been acted on?  What is the state of the database and the volumes
being written?   Is there a risk of a race condition in which writing
a volume or .bsr to disk is incomplete or updating the database is
incomplete?

Second, any suggestions about how to get around the sequencing
problems I've encountered?
It may be relevant that the system the script is copying to is a Mac.
The bacula website says that is supported, but the only binaries I
found were ancient.

Thanks.
Ross

bacula 9.6.7 on Debian GNU/Linux 11.11 (= bullseye = oldstable)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.