Ok, I've done a bunch more research into this, and discovered the
problem:
backuppc creates the target directories for the backup destination
BEFORE it calls BackupPC_dump, so my pre conditions are always
returning true, because BackupPC just created the necessary file
structure.
So, I'm looking for either a) where is the check that decides to
create the file structure before doing a dump or b) how to re-arrange
my setup so that backupPC just fails if the destination for the
backup does not exist.
Again, here's my setup:
/Volumes/Honker <-- this is an external hard drive that is only
mounted periodically. When it is not mounted, /Volumes does NOT have
a "Honker" directory.
here's with my external drive disconnected:
MainEngineering:/Volumes root# pwd
/Volumes
MainEngineering:/Volumes root# ls -la
total 8
drwxrwxrwt 3 root admin 102 Sep 20 14:57 .
drwxr-xr-x 31 root wheel 1156 Sep 18 12:21 ..
lrwxr-xr-x 1 root admin 1 Sep 18 12:21 Guido -> /
MainEngineering:/Volumes root#
and again with it connected:
MainEngineering:/Volumes root# ls -la
total 8
drwxrwxrwt 4 root admin 136 Sep 20 14:58 .
drwxr-xr-x 31 root wheel 1156 Sep 18 12:21 ..
lrwxr-xr-x 1 root admin 1 Sep 18 12:21 Guido -> /
drwxr-xr-x 8 unknown unknown 374 Sep 20 14:45 Honker
MainEngineering:/Volumes root#
The problem is that if a Honker directory exists in /Volumes, then
when I attach the drive, it mounts as Honker-1, so my backups don't
get to the right file system.
Help!
-- Kimball
On Sep 20, 2007, at 1:24 PM, Kimball Larsen wrote:
(Sorry for the re-post - I realized I forgot to put on a subject
last time)
Hokay, I'm stuck. I give. I need help.
The documentation for UserCmdCheckStatus says:
"Whether the exit status of each PreUserCmd and PostUserCmd is
checked.
"If set and the Dump/Restore/Archive Pre/Post UserCmd returns a
non-zero exit status then the dump/restore/archive is aborted. To
maintain backward compatibility (where the exit status in early
versions was always ignored), this flag defaults to 0.
"If this flag is set and the Dump/Restore/Archive PreUserCmd
fails then the matching Dump/Restore/Archive PostUserCmd is not
executed. If DumpPreShareCmd returns a non-exit status, then
DumpPostShareCmd is not executed, but the DumpPostUserCmd is still
run (since DumpPreUserCmd must have previously succeeded).
"An example of a DumpPreUserCmd that might fail is a script
that snapshots or dumps a database which fails because of some
database error."
Simple enough - so I wrote a script to verify that the location to
which I am about to try to backup actually exists (I'm backing up
to a removable drive that does get removed, from time to time, and
I only want the backups to run when the drive is attached). Then I
set this script to the value for the various Pre conditions:
$Conf{DumpPreUserCmd} = '$sshPath -q -x -l kimball $host /usr/local/
bin/checkHonker';
$Conf{DumpPostUserCmd} = undef;
$Conf{DumpPreShareCmd} = '$sshPath -q -x -l kimball $host /usr/
local/bin/checkHonker';
$Conf{DumpPostShareCmd} = undef;
$Conf{RestorePreUserCmd} = '$sshPath -q -x -l kimball $host /usr/
local/bin/checkHonker';
$Conf{RestorePostUserCmd} = undef;
$Conf{ArchivePreUserCmd} = '$sshPath -q -x -l kimball $host /usr/
local/bin/checkHonker';
$Conf{ArchivePostUserCmd} = undef;
and I set it to check the status of the user commands:
$Conf{UserCmdCheckStatus} = 1;
But it still runs the backup (and writes over my mount point for my
external drive)
I've verified that the script returns a non-zero when the drive is
not present:
sillyHost:~ backuppc$ /usr/bin/ssh -q -x -l kimball 192.168.0.21 /
usr/local/bin/checkHonker
Checking for Honker
Honker NOT mounted
sillyHost:~ backuppc $ echo $?
1
What am I missing?
-- Kimball
----------------------------------------------------------------------
---
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/backuppc-users
http://backuppc.sourceforge.net/
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
BackupPC-users mailing list
BackupPC-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/backuppc-users
http://backuppc.sourceforge.net/