CHANGELOG

    Version 0.7.0 (2021-10-24)

    o terminate with exit code > 0 if an error occured

    Version 0.6.7 (2018-01-06)

    o Create lock_dir if it doesn't exist.


    Version 0.6.6 (2015-12-23)

    o Bugfix (problem with the each hash iterator) for Perl versions >= 18.2
      see http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html


    Version 0.6.5 (2010-10-24)

    o Sorting issue when building history file fixed. Thanks to Gunnar Scherf.
    
    o If a previous job failed there may be left an incomplete temporary
      destination directory backup.0. To avoid mixed up backup sets, this
      directory will be removed before backup starts.
      Thanks to Falke Bruinsma for the hint. 

    Version 0.6.4 (2008-01-10)

    o Minor bug fix: rsback logs 'rsync error <result> ignored' in case of rsync
      errors, despite the exit code of the result was not in the list of 
      ignore_rsync_errors. The error handling was correct, but the word 
      'ignored' was wrong.
      
    o Archives won't be rotated if the temporary backup set doesn't exist after
      the rsync job. This can happen if certain rsnync exit codes have been
      ignored before (parameter 'ingnore_rsync_errors'). Rotation in such cases
      can result in loss of archives, otherwise.

    o Backup date/time of fresh archive are logged now during rotation.

    o History file will be rebuild if entries are missing.


    Version 0.6.3 (2007-12-07)

    o Bug fix:
      The parameter use_link_dest was not evaluated correctly under certain 
      circumstances. As a side effect a strange behavior in mode = link could be
      the result. This bug contained in versions 0.6.0 thru 0.6.2 was fixed.


    Version 0.6.2 (2007-11-25)

    o New parameter update = <task> (in mode = rsync)
      This causes just a "simple" rsync on the most recent backup set of the
      refered task (no rotation). There are no other parameters necessary, 
      they are taken from the refered task section.

      Background:
      To get consistent backups of live systems (data bases, virtual 
      machines, ...) these have to be shutdown before. To speedup backups of
      such systems, this procedure may help in some cases:
        Step 1: Run a backup task of the running system (live-backup).
                Use 'ignore_rsync_errors = 24' (vanished source files).
        Step 2: Shutdown the system.
        Step 3: Run a task with 'update = live-backup' to take an update 
                snapshot of the backup from Step 2.
        Step 4: Restart the system.
      The downtime (during step 3) should be considerably shorter compared to 
      step 1 because only those files which have changed in the meantime have to 
      be transfered.

    o Warnings are now written to STDOUT, too. This may be helpful if rsback is 
      lauched by cron jobs with commands like
        rsback -vc /etc/rsback-mywork.config >> /var/log/rsback/mywork.log
      In this case, usually the owner of the job will be informed by mail if 
      something went wrong (was written to STDERR). But errors have not been 
      written to the log file (STDOUT) which made debugging often difficult.
      This can now be changed with
        warnings_to_stdout = yes

    o Re-sorted CANGELOG. last entry first now.


    Version 0.6.1 (2007-07-28)
    
    o rsync exit values as clear text messages
    
    o added a script which updates repositories made with rsback-0.5.x and before

    o some typos fixed
    
    o code cleaning


    Version 0.6.1rc1 (2007-05-06)

    o some Bug fixes
      + entry for backup.0 removed from histroy file

      + make sure that before moving (during rotation) destination directories are empty 


    Version 0.6.0 (2007-04-??) / Proof of concept
    
    o Support for rsync --link-dest
      Parameter: use_link_dest = yes|no
      may be used in [global] or [some_task]

    o Schema of backup repository has changed:
      Index of backup sets is now 1, 2, 3, ...
      Using backup repositories made with older versions one has to rotate once "manually":
      Supposed we have 5 backup sets (0 .. 4), we have to rotate... 
        # mv backup.4 backup.5
        # mv backup.3 backup.4
        # mv backup.2 backup.3
        # mv backup.1 backup.2
        # mv backup.0 backup.1


    Version 0.5.0rc4 (2006-03-20)

    o   Bugfix: Reported exit values of system/shell commands should now be
        correct.

    o   Bugfix: non-existing paramter 'global:backup' with option -i 
        changed to 'global:tasks' 
        
    o   Bugfix: Trailing white space removed from config parameters

    o   Bugfix: Parameter lists containing quotation marks; things like 
        rsync_options = -al --delete --delete-excluded \
                        --rsh="ssh -i /root/.ssh/id_dsa" \
                        -vv --stats
         should work now.

    o   Continuation lines as in the examples above may be used now.    

    o   A couple of new features/parameters:

        - global:rsync_options is now mandatory
        
        - Locking mechanism to avoid race conditions of backup tasks
          global:lock_dir = /path/to/lock-files
          if_locked_retry = 3 10min
          
        - Error handling
          
          + Continue with next task in case of errors?
            global:if_error_continue = yes
          
          + Ignore certain rsync errors
            ignore_rsync_errors = 12 24
          
          + Undo (rotate back) in case of errors?
            if_error_undo = yes
        
        - Suspend tasks (temporarily)
          suspend_file = /var/work/_dont_backup_now_
          
        - Trigger tasks (once only)
          trigger_file = /home/fritz/_backup_please_
          This trigger_file should be writetable by rsback, because it will be
          removed after succefull backup


    Version 0.4.2 (2002-10-26)

    o   The example configuration files under ../etc contained trailing
        CRs in each line. Customized configs based on these examples
        may have produced weird problems at runtime.
        This was fixed. 


    Version 0.4.1 (2002-07-27)

    o   First published version

    o   Some minor changes

    o   Documentation added


    Version 0.4.0 (2002-07-16)

    o   Previous backup sets will now be back-rotated if the
        backup has not been finished successfully. Thus old backup
        sets remain untouched if the backup fails.

    o   If `rsync_options=--dry-run' (simulation) and `mode=rsync' is
        selected, rotation of previous backup sets will be skipped.


    Version 0.3.2 (2002-07-16)

    o   Removed some relicts from former debug runs.
    o   Output changed, to make it better readable in mixed rsback/rsync
        logs.

    o   Header line added to history files.

    o   New paramter `rsync_options' to specify additonal rsync options in
        the config file.


    Version 0.3.1 (2002-07-12)

    o   First beta used in production environment