2009-01-09 10:20  petersp

	* wombat.pl: Bug: When the preserve list is empty, wombat is
	  supposed to remove nothing.  In retrospect, this is somewhat
	  counter-intuituve, which is probably how I ended up documenting
	  it one way and coding it the other (after all, if the command is
	  "preserve" then the default is "remove"). This change adds a
	  block of code the checks the preserve list and if it's empty then
	  we remove nothing.

2008-12-10 16:48  petersp

	* wombat.pl: Bug: after migrating old jobdata, the jobid in
	  dbix_sequence_state needs   to be updated.

	  Removing all support for DBD::DBM. The problems that were just to
	  onerous   to overcome are:	     1) "select count" not
	  supported	    2) DBIx not supported	  3) transcations
	  not supported 	4) every table has to have a unique key
	  (schedmap does not)

2008-11-06 02:40  petersp

	* wombat.pl: Simplifying the logic that build the rcmd and adding a
	  "rcmd_key" option for specifying an ssh identity key-file

2008-11-04 22:31  petersp

	* wombat.pl: Argh - another more missing code block. I think I've
	  got them all this time.

2008-11-04 13:41  petersp

	* wombat.pl: So, this is a pretty major bug and I'm really, really
	  surprised that no one has ever noticed it! The problem is in the
	  image_list subroutine: basically wombat was failing to list
	  existing images if it was the first week of the month since the
	  regex required [1-3] instead of [0-3]. This causes wombat to
	  repeatedly perform backups when re-run and also to not create
	  hard-links since it can't find the old image. Wow

	  I'm also adding a dbh statement to mark the time in jobid{pruned}
	  when a job is pruned from the filesystem.

2008-11-03 16:46  petersp

	* wombat.pl: Rev'ing the CVS version in the top info

2008-11-03 16:45  petersp

	* wombat.pl: Hmmm - at some point I accidentaly delete a bunch of
	  code. Here I'm replacing the block that removes the target_lock
	  after the backup is done or fails. Strange. I'll have to audit
	  the whole script at some point and make sure nothing else is
	  missing - ugh.

2008-10-30 14:59  petersp

	* wombat.pl: Switch to DBIx::Sequence for generating unique jobid -
	  the previous code   didn't really work at all. I'm using
	  DBIx::Sequence so that the code is   independent of the DBD used
	  (pgsql, mysql, DBM, etc) Turn AutoCommit on and instead use
	  dbh->begin_work and dbh->commit where   appropriate Update schema
	  to 101 to support DBIx::Sequence

2008-10-29 11:41  petersp

	* wombat.pl: More dereferencing fixes...

2008-10-28 17:44  petersp

	* wombat.pl: This is a bugfix... For some reason, recent versions
	  of perl don't allow this style of dereferencing:

	  Let $foo be an array reference, then these no longer work:

	  ${@{$foo}}[0] 	  #the 0 element $#{@{$foo}}
	  #the size

	  Instead, I switched to:

	  @{$foo}->[0] scalar @{$foo}

	  Of course, I had to update code that relies on $# since this is
	  the index of the last element, which is -1 the scalar value
	  (length)

2008-10-28 17:37  petersp

	* wombat.pl: This is a major revision. All of the MLDBM code has
	  been removed (except for what is needed to perform upgrades).
	  Persistent data that was previously stored in /var/lib/wombat is
	  now stored using DBI. The DBD drivers currently supported are:
	  mysql pgsql DBM  (/var/lib/wombat2)

	  There might be some bug fixed hiding in here :)

2008-02-25 17:19  petersp

	* wombat.pl: Adding "--numeric-ids" to the default rsync options

2007-10-26 14:26  petersp

	* wombat.pl: Changing the mirror process so that jobs are split up
	  into 1-1 mirror jobs and placed back on the archiveQ. This also
	  handles the case where writeto and mirror lists have different
	  numbers of elements.	Also adding a mirror_opts to over-ride the
	  settings for mirror jobs.

2007-05-20 13:59  petersp

	* wombat.pl: Changing the default image directory format to
	  YYYY-MM-DD_HH-MM instead of YYYY-MM-DD_HH:MM. I'm leaving code
	  that should keep the old format compatible with the pruner, but
	  new images will be named appropriately. This is necessary to
	  allow using a Windows machine as a backup server (or a mirror
	  server, etc) since Windows does not allow ":"s in directory names

2006-11-13 15:24  petersp

	* wombat.pl: Truncating the rsync errstring to 10,000 characters

2006-10-19 07:19  petersp

	* wombat.pl: No functional changes, I just want to start keeping
	  the CVS version at the top of the file so it's easier to track on
	  my backup hosts.

2006-10-19 00:26  petersp

	* wombat.pl: Adding support for the mirror() option.  Fixing a bug
	  in that the pruner was calling "exit" to return from a   thread
	  instead of return. This was causing main to exit prematurely.

2006-08-31 00:34  petersp

	* wombat.pl: target_lock now records the parent wombat pid

	  Feature: each worker now adds a record to a special shared hash
	  of hashes called rsync_jobs before calling rsync->exec. This
	  allow the main thread to monitor the rsync process and determine
	  if it has hung, died, disappeared, etc and take appropriate
	  action.

	  Feature: added support for a new option called "synctimeout" that
	  forcibly times out a rsync job

	  Feature: The main thread now verifies that each target_lock not
	  owned by it is valid. This is achieved by checking for the
	  presence of both the owning wombat pid specified in target_lock
	  and the actual rsync processes for the specific target. This
	  allows for cleanup of the target_locks after a crash.

	  Change: Previously, if a target was locked, the worker would
	  immediately give up on the job and substitute a previous image.
	  The worker now takes the same action if the target is locked as
	  if the maxconnect is reached: first it places the job back on the
	  queue to try again, and then it goes into a wait loop.

2006-08-26 23:41  petersp

	* wombat.pl: Fixing a "bug" in word_extract. Basically, we need to
	  eat trailing white space after a quoted string to avoid falsely
	  creating a second list item.	For example, ( "foo" ) was
	  returning the list ('foo',' ') because of the whitespace after
	  the quote and before the right paren.

2006-08-25 11:35  petersp

	* wombat.pl: Bug: Previously, block_extract placed {} back in the
	  buffer using push, but this causes future parsing to fail because
	  we often look for "keyword {", that is, the "{" needs to be on
	  the same line as the keyword.

	  Bug: reporting sub was showing all errors as jobs were displayed
	  instead of just the errors for jobs that were selected.

	  Feature: parse_set now assigns a hash value to a variable when
	  parsing a block assignment.

	  Feature: "rsync_opts" is a hash that can be used to over-ride or
	  set any parameter that File::Rsync understands.

2006-08-24 22:26  petersp

	* wombat.pl: Strange - I could have sworn I had coded the report
	  generator to print out "errstring" if status was non-zero, but I
	  guess I didn't.  Oh well, now it reports errors!

2006-08-24 09:31  petersp

	* wombat.pl: Fix the --run [conf] parsing so that it actually works
	  and can generate an error if the file is missing

2006-08-23 09:38  petersp

	* wombat.pl: Silly typo

2006-08-18 01:32  petersp

	* wombat.pl: Add rcmd_user ability for rcmd=rsh instead of only for
	  ssh

2006-08-15 12:45  petersp

	* wombat.pl: Adding a few extra notes.	Fixing the job sorting so
	  that it sorts numerically

2006-07-31 01:09  petersp

	* wombat.pl: Add support for logging job information to jobdata
	  DBM! Add support for command line options:	  IMPORTANT -
	  wombat will now only process backups if     started with --run
	  Added --run [conf] and --report [hours] options Added report
	  generator to process jobdata DBM into a pretty "report" Added a
	  usage screen if not options are specified

2006-07-30 23:01  petersp

	* wombat.pl: Switching to MLDBM driver to handle multi-dimensional
	  DBM constructs.  Fixup the DBM lock code so it won't make you cry
	  to look at it.  Added rsync defaults:      hard-links
	  preserve hard-links	  sparse	  treat sparse files
	  sparsely     timeout=1800    Timeout a job after 1800 seconds
	  without any			 data transfer

2006-01-08 01:50  petersp

	* wombat.pl: Fixing a bug in the smbmount code wherein the
	  sharename was not correctly being seperated from the target.

2006-01-08 01:46  petersp

	* wombat.pl: Initial files

