mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-09 20:32:38 +01:00
41 KiB
41 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.2.1] - 2021-01-25
Added
- [core] implement
reportwrap
configuration parameter
Changed
- [core] raise error if mail isn't found in
$PATH
andreportemail = yes
- [core] unset
BACKUPNINJA_DEBUG
before exit
Fixed
- [build] make build reproducible regardless of usrmerge (DEBBUG-915222)
- [core] silence exit code message unless
--debug
is used - [core] backup halt should trigger email report if enabled
- [core] wrap report email body to 1000 characters by default (DEBBUG-871793)
- [core] improve error handling around
reporthost
feature - [docs] add missing parameters to
backupninja.conf
manpage - [sys] improve device selection for MBR backup (#11303)
[1.2.0] - 2021-01-21
Fixed
- [dup] Fix missing options from config file created with helper (DEBBUG-726119)
[1.2.0-rc1] - 2021-01-14
Added
- [tests] Add a testsuite
- [core] Add
--version
(-V
) command-line option - [borg] New config options:
cache_directory
,sshoptions
(#11310),ignore_missing
andport
- [restic] Introduce new handler for the restic backup program
- [sys] Add SystemD and EFI infos to sytem report (#11325)
- [all] Added new config setting
ionicelevel
(DEBBUG-409239)
Changed
- [core] Implement non-zero exit codes for main process (#8279)
- [borg] Emit warning if borg returns exit code 1 instead of fail
- [dup] Allow
bandwidthlimit
withdesturl
- [rsync] Change default ssh key file to RSA in
id_file
(#11315, DEBBUG-976650) - [project] Adopt Keep a Changelog format and convert old ChangeLog to markdown
- [project] Moved project group from RiseupLabs to Liberate (#11314)
Removed
- [core] Support for vservers support has been completely removed
- [rsync] Removed unused config parameter
ssh
(#4379)
Fixed
- [core] Fix issue with zero-padded integers in when setting (#9397)
- [core] Fix incorrect warning related to day component in when setting (DEBBUG-974770)
- [borg] Fix connection test when empty remote directory exists
- [borg] Properly quote create_options setting (#11304)
- [borg] Raise fatal error if includes are missing
- [dup] Test ssh connection when test mode enabled
- [mysql] Fix helper writing incomplete config file (#11272)
- [rsync] Fix initial directory creation in
mirror
and remoteshort
modes - [sys] Fix LUKS version 2 header backup (#11316)
- [sys] Fix dumping non-existent partition tables (#11293, DEBBUG-956206)
- [sys] Fix error in rc.d info gathering on redhat/centos (##11294)
- [sys] Fix error in sysctl info gathering
[1.1.0] - 2018-06-29
backupninja changes
- Add validation check for when parameter. (#640) Thanks to ulrich ulrich@habmalnefrage.de for the patch.
- Quote output strings passed to logging functions (#11278).
- Ignore files in /etc/backup.d that lack suffix. Thanks to David Gasaway dave@gasaway.org for the patch.
- Add Vagrantfile to help with testing/release process.
documentation changes
- Fix typos in README.md and manpages. Thank you, Lintian!
- Improve release process documentation.
handler changes
borg
- Add initial support for the borgbackup program. Thanks to Ben ben@wainei.net and Thomas Preissler thomas@preissler.co.uk for contributing patches.
dup
- Fix symmetric encryption. (#11274) Thanks to Matthijs Wensveen matthijs.wensveen@gmail.com for the patch.
- Bail if archive dir doesn't exist. (#11286) Thanks to Hugh Nowlan nosmo@nosmo.me for the patch.
sys
- Use lsblk instead of sfdisk to get a list of block devices. (#11273) Thanks to Romain Dessort romain@univers-libre.net for the patch.
- Avoid looking for partitions on zram devices. Thanks to Glandos bugs-0xacab@antipoul.fr for the patch.
- Support extracting LUKS headers from partitions. Thanks to Lyz lyz@riseup.net for the patch.
[1.0.2] - 2017-09-05
handler changes
dsync
- Miscellaneous improvements to this experimental handler.
dup
- For local backups, check that the destination directory exists. Thanks to ulrich for the preliminary patch. (#4049)
- Gracefully handle legacy spaces between -o and IdentityFile.
- Don't remove useful signature files with --extra-clean, on duplicity versions that have a sane handling of the cache. Thanks to Alexander Mette mail@amette.eu for the patch! (Closes: #6357)
- Fix buggy version comparison. (#6746)
- Support using a different passphrase for the signing key from the one used for the encryption key (Closes: DEBBUG-726072). Thanks to Dominik George nik@naturalnet.de for the patch!
- Run duplicity in a C locales environment (Closes: DEBBUG-736280). Thanks to Jonathan Dupart jonathan@dupart.org for the report, and the initial patch!
- Fix handling of Dropbox access token (Closes: #11260).
mysql
- Make "nodata" option compatible with compress=no.
- Fix non-qualified table name extraction. (Closes: #4373)
- Skip dumping information and performance_schema databasase. (Closes: #11148)
rdiff
- Add option to include rdiff-backup output in reports. Thanks to David Gasaway dave@gasaway.org for the patch!
rsync
- Solve quoting issue with "su". (Closes: DEBBUG-683731, #4019)
- Update increment folder date to avoid ending up with contradictory information. (Closes: #3929)
- Force rsync handler run bash at the remote destination. (Closes: #3003)
- Support running in test mode (Closes: #8196). Thanks to shred for the initial patch.
sys
- Fix LUKS header backup to properly detect partitions.
- Provide the ability to backup the MBR for every device found, and to backup the BIOS (if the flashrom program is installed, and the mainboard is supported).
- Add suse to the list of supported OS (#7101). Thanks to Christian Prause cprause@suse.com for the patch.
- Fix indentation. Thanks to Jools Wills jools@oxfordinspire.co.uk for the patch. (Closes: #6802)
- Exclude tmpfs filesystems from df output. (Closes: DEBBUG-745818)
tar
- Support test mode and xz compression. Thanks to Pierre ROUDIER contact@pierreroudier.net for the patches.
helper changes
rdiff
- Don't give misleading information regarding required fields. (#4410)
- Support output_as_info. Thanks to David Gasaway dave@gasaway.org for the patch!
sys
- Remove spurious quotes that broke the helper (Closes: #6803). Thanks to Jools Wills jools@oxfordinspire.co.uk for the patch.
backupninja changes
- Indentation fixes, thanks to exobuzz. (#6726)
- Ignore jobs whose filename ends with "~". Thanks to Mark Janssen mark@sig-io.nl for the patch.
build system changes
- Pass the "foreign" option to AM_INIT_AUTOMAKE: README has been renamed to README.md.
documentation changes
- Update INSTALL file to add some missing recommended programs.
- Document release process.
- Merge FAQ content from the Redmine wiki into the one shipped with backupninja.
- README.md: reorganize, reformat, and point to the examples configuration files.
- INSTALL.md: recommend using packages on Debian and derivatives.
- bandwidthlimit for the dup handler needs to be given in KB/s, and not (as wrongly advertised previously) in Kbit/s. (Closes: #7603)
[1.0.1] - 2012-06-29
handler changes
rsync
- Issue warnings, not fatal errors, on non-fatal rsync errors. (#3966)
[1.0] - 2012-06-15
The "happy birthdays" release!
handler changes
mysql
- Use --skip-events when backing up the performance_schema database. (Closes: DEBBUG-673572)
rsync
- Generate excludes command-line snippet the same way as the duplicity handler does.
- Run rsync command-line through a shell, so that single-quotes around excludes are interpreted (Closes: DEBBUG-677410)
sys
- Don't execute /usr/bin/lspci or /sbin/modinfo when $hardware == "no"
backupninja changes
- Make it clear what lockfile could not be acquired, if any.
[1.0-rc1] - 2012-05-15
handler changes
dup
- Make the .dup generated by ninjahelper more consistent with example.dup.
- Add support for RackSpace's CloudFiles. Thanks to Yuval Kogman nothingmuch@woobling.org for the patch.
- Adapt for new duplicity SSH backend. Support bandwidthlimit with new duplicity, using trickle. (Closes: DEBBUG-657201)
- Report failure output at error loglevel so that it is emailed (Closes: DEBBUG-536858)
maildir
- Remove 'loadlimit' parameter - it is not used anywhere.
mysql
- Don't attempt to dump performance_schema database (#3741).
pgsql
- Don't produce empty uncompressed backups (#3820).
rdiff-backup
- Use fatal function to report failure of rdiff-backup jobs as such.
rysnc
- Fix numericids option (#3691).
- Mangle $rsync_options just afterwards (#3702, #3001).
- Fix metadata rotation.
- Allow disabling rotation or setting 2 days as minimum for backup increments in rsync short format (#2107).
- Abort on rsync error (#3692).
- Cleanup orphaned metadata (#3727).
- Use the backup start time and not the time the backup was finished. (Closes: DEBBUG-654192).
- Use 'debug', 'fatal' and 'warning' functions instead of regular echo and exit (#3840, #3721).
- Quoting $starttime (#3868).
- Validate created date on long_rotation to avoid too many arguments at comparison (#3868).
- Quoting $exclude and $excludes and avoiding a for loop on $exclude to not expand wildcards in beforehand (#3882).
- Quote excludes (#3882).
- Changing remaining 'exit' to 'fatal' at rsync handler (#3721).
- Removing duplicated locking support (#3838).
- Documenting rotation parameters at example.rsync (#3891).
- Ensure that a non-zero rsync exit status is caught (#3892).
build system changes
- Workaround automake sanity check that would prevent us from installing lib/* into lib/backupninja/. Where else are be supposed to install such files anyway?
- Have "make dist" ship handlers/*.in instead of make results.
- Have "make dist" ship the FAQ.
- Install handlers as pkgdata_DATA, instead of their .in files.
documentation changes
- Document what features available to .sh jobs (Redmine #1558).
[0.9.10] - 2011-09-23
backupninja changes
- Fix email reports, that were broken by the new locking support.
handler changes
dup
- Cleanup: stop supporting duplicity < 0.6.01 (#2538).
- Fix incorrect duplicity version check for keepincroffulls. Thanks to Olivier Berger oberger@ouvaton.org for the patch. (Closes #3443) (Closes: DEBBUG-641120)
ldap
- Don't install LDAP handler, helper and example configuration file. Don't mention LDAP support in documentation. Official LDAP support will come back once this code has found itself a maintainer. Interested? Get in touch!
rsync
- Fixing $rsync_options output when rsync is local (Closes #3001) (Closes: DEBBUG-639545)
sh
- Allow 'when = XXX' with spaces (#2769). Thanks to aihtdikh for the patch.
sys
- Remove useless and inconsistent executable bit on handler.
helper changes
rdiff
- Fix infinite loop when version inconsistency is detected. Thanks to Chris Lamb lamby@debian.org for the patch. (Closes: DEBBUG-639547)
[0.9.9] - 2011-05-15
backupninja changes
- Use locking to avoid running concurrent instances of the same backup action. Thanks to Olivier Berger oberger@ouvaton.org for the patch. (Closes: DEBBUG-511300)
handler changes
all handlers:
- Stop using "local VAR" outside functions. (Closes: DEBBUG-530647)
dup
- Use --tempdir option rather than TMPDIR environment variable. (Closes Roundup bug #598)
- Remove support for duplicity < 0.4.4. Even etch-backports has a newer one.
- Now support remove-all-inc-but-n-full command for duplicity >= 0.9.10 to allow removal of increments for older full backups. Thanks to Olivier Berger oberger@ouvaton.org for the patch. (Closes #2492) (Closes: DEBBUG-603478)
ldap
- Fix reliance on bash for pipefail.
mysql
- Fix reliance on bash for pipefail. Thanks to Sergio Talens-Oliag sto@debian.org for the patch. (Closes: DEBBUG-602374)
postgresql
- Support various pg_dump formats in addition to pg_dumpall. Thanks to Jacob Anawalt jlanawalt@gmail.com for the patch. (Closes Roundup bug #2534)
- Fix reliance on bash for pipefail.
rdiff
- Support reading include/exclude patterns from files using the "include @/etc/backup_includes" syntax (Closes Roundup bug #2370). Thanks to ale for the patch.
rsync
- Fix long rotation.
- Make units clearer (Closes #2737)
- Do arithmetic using bash rather than bc (Closes: DEBBUG-603173)
sys
- Fix hwinfo (Closes: DEBBUG-625501)
- Fix gathering of information about loaded modules: cut is in /usr/bin actually.
tar
- Install by default. (Closes #2907)
helper changes
dup
- Fix separate signing key usecase. Thanks to Ian Beckwith for the patch.
- Make units clearer (Closes #2737)
rdiff
- Generate 4096 bits RSA keys.
tar
- Install by default. (Closes #2907)
documentation changes
- Recommend using 4096 bits RSA keys everywhere.
[0.9.8.1] - 2010-10-31
backupninja changes
- Do not error out when no job is configured. Thanks to Jordi Mallach jordi@debian.org for the patch (Closes: DEBBUG-597684)
handler changes
sys
- Route around broken vgcfgbackup not able to handle multiple VG arguments
[0.9.8] - 2010-09-12
backupninja changes
- Added GZIP_OPTS option, defaulting to --rsyncable, so that this option can be disabled on systems that don't support it. This also allows to use another compression program, such as pbzip2 on SMP machines (Closes Roundup bug #2405)
handler changes
sys
- Only run mdadm if RAID devices actually exist (Closes: DEBBUG-572450)
dup
- Now default to use --full-if-older-than; see the new "increments" option to opt-out or tweak the default (30D) delay between full backups. Thanks a lot to Olivier Berger (Closes: DEBBUG-535996)
- Use duplicity's --extra-clean option to get rid of unnecessary old cache files when cleaning up. This is enabled when using duplicity 0.6.01 or newer, that depends on local caching (Closes: DEBBUG-572721)
- Ignore anything but digits and "." when comparing versions (Closes: DEBBUG-578987)
- Put archive directory (cache) into /var/cache/backupninja/duplicity rather than the default /root/.cache/duplicity, unless the user has specified it (Closes: 580213)
- Better example.dup documentation. Thanks, Alster!
- Added ftp_password option to securely transmit the FTP password from backupninja to duplicity.
mysql
- Don't lock tables in the information_schema database (Closes: DEBBUG-587011)
- Fix code logic to make dbusername/dbpassword actually usable (Closes Redmine bug #2264)
rsync
- Fix lockfile checks. This prevents multiple instances of the same rsync job to run in parallel.
- Avoid passing the remote user twice to rsync-over-ssh.
doc changes
manpage
- Fix typo in manpage (Closes: DEBBUG-583778)
ldap
- Add ssl option description, fix tls option description (Closes Roundup bug #2407)
[0.9.7] - 2010-01-27
backupninja changes
- fix bug in reportspace, thanks Dan Garthwaite
- do not assume English locale when using date (Closes: DEBBUG-465837)
- add 'when = manual' option, that can be used in the global config file or in a given backup action file. Thanks Tuomas Jormola for the preliminary patch (Closes: DEBBUG-511299)
- new reportinfo option: when set, messages sent by handlers with "info" are included in the report e-mail (closes DEBBUG-563734)
- reportspace: skip non-directories and places that don't exist on the local filesystem (Closes: DEBBUG-536049)
- set BACKUPNINJA_DEBUG when invoked with -d (Closes: DEBBUG-537266)
lib changes
easydialog
- Allow form fields input to grow up to 100 chars (Closes: DEBBUG-562249)
handler changes
ldap
- Use gzip's --rsyncable option.
- Use bash pipefail option when needed so that failed dumps are reported as such.
maildir
- fix location of deleted_on file
- add missing destid_file options to ssh connections
- added sshoptions variable for arbitrary ssh options
- updated example file to include destid_file, destport and sshoptions
- use any subdirectories not just "a" to "z". Thanks Chris Nolan! (#606)
mysql
- Options passed to mysqldump are now customizable with the new sqldumpoptions configuration variable. Thanks to Chris Lamb for his preliminary patch (Closes: DEBBUG-502966)
- Hide 'mysqladmin ping' output, to prevent confusing the user in case mysqld is running but the authentication fails, which apparently does not prevent mysqldump to work.
- Fix the error message displayed when mysqld is not running: mysqladmin ping indeed returns 0 when authentication fails.
- Use gzip's --rsyncable option.
- Quote output filenames to support shell meta-characters in database names.
- Use bash pipefail option when needed so that failed dumps are reported as such.
pgsql
- Use gzip's --rsyncable option.
- Quote output filenames to support shell meta-characters in database names.
- Use bash pipefail option when needed so that failed dumps are reported as such.
rdiff
- Fix include/exclude paths with spaces (Closes: DEBBUG-398435)
- Fix confusing error if rdiff-backup cannot be found on remote server.
- Increased element number in include/exclude and vserver ninjahelper interface
sys
- New luksheaders option (default=disabled) to backup the Luks header of every Luks device.
- New lvm option (default=disabled) to backup LVM metadata for every detected volume group.
- Backup dmsetup info as well, for easier restoring of Luks headers.
dup
- Fixed bandwidthlimit syntax error. Thanks to Ian Beckwith for the patch.
- Send duplicity output to debug line by line instead of as a whole at one time (Closes: DEBBUG-536360)
- Report duplicity output as "info" so that it can be included in report e-mail when reportinfo is on (Closes: DEBBUG-563734)
- Fix include/exclude paths with spaces
- Support backups to Amazon S3 buckets, thanks to stefan for the patch.
helper changes
dup
- Do not propose to exclude /home/*/.gnupg twice anymore (Closes: DEBBUG-563044)
autotools
- Added the stat command to the automagically replaced ones, hoping it will help supporting *BSD some day.
[0.9.6] - 2008-07-21
backupninja changes
- fix bug in cstream definition, thanks Jamie McClelland
- Allow the entire backup run to be halted by an action, thanks to Matthew Palmer (Closes: DEBBUG-455836)
- Fixed tr construct reporting a warning (Closes: DEBBUG-452669)
lib changes
vserver
- added vservers_running function
tools
- mktemp is now required to run backupninja, removed less secure fall-back if mktemp did not exist on the system
handler changes
dup
- General cleanup
- Better support for new duplicity (>= 0.4.4) command line syntax: run remove-older-than when $keep is not set to yes (Closes: DEBBUG-458816), and run "duplicity cleanup" before any other duplicity command; both only trigger a warning on failure, since they should not stop backups from being done. Also migrated full/incremental backup switch to the new syntax.
- Support every duplicity-supported transport with new configuration option desturl (Closes: DEBBUG-483712, DEBBUG-346040, Trac#2).
- Actually allow to backup only VServers, by relaxing $include test.
- Set secure permissions on tmpdir when creating it.
ldap
- support HDB backend just as the BDB one, and make message clearer when no supported backend is found (Closes: DEBBUG-476910)
rdiff
- Fixed ignore_version default value missing
- Add patch from Matthew Palmer to rdiff handler to incorporate sshoptions into options via remote-schema not already specified (Closes: DEBBUG-424639)
wget
- New handler from rhatto designed to incrementally pull content from a website to a local folder, based on the rsync handler
maildir
- fixed bug where maildirs that start with a number were skipped
- make maildir helper look in every subdirectory of the source directory for maildirs, rather than just looking in the directories [a-zA-Z0-9], thanks for the patch from chris@cenolan.com (Trac#43).
- make deleted maildirs record the date they were deleted
- add destid_file configuration option to enable you to specify an alternate ssh public key authentication file (defaulting to /root/.ssh/id_rsa) pgsql, mysql, svn, sys:
- use new vservers_running function from lib/vserver (factorization++)
sys
- update for 2.6 kernels: use /proc/kallsyms instead of /proc/ksyms (Closes: Trac#39)
- support selection of VServers to run on, in the same way as in the dup handler, with the new vsnames configuration option ; (Closes: Trac#45)
- add support for capturing the package debconf selection states using debconf-get-selections
- fixed catifexec function to actually work, also now passes the arguments given to catifexec() to the called command (Thanks John Hallam!)
- Added more robust software RAID information capture by running mdadm -Q --detail /dev/md?* because some people may have empty mdadm.conf files (Thanks to John Hallam).
trac
- stop failing on all the trac backups if just one fails, this means removing the temporary trac backup directories if they fail
makecd
- updated handler for new toolset (genisoimage and wodim)
[0.9.5] - 2007-12-02
backupninja changes
- Fixed checks on configuration files permissions, since the patch applied to fix DEBBUG-370396 broke this, especially for configuration files created with permissions 000 by an older ninjahelper version.
- Enhanced portability for other platforms
- Added quoting because it was needed to prevent shell expansion, broking the toint function sometimes (Closes: Trac#11)
- Fixed reportspace option (Closes: Trac#10)
- Fixed ldap handler not recognizing database suffix (Closes: Trac#28)
handler changes
dup
- Support duplicity >= 0.4.3 invocation syntax (--ssh-command option is not supported anymore) (Closes: DEBBUG-447425)
- New tmpdir configuration option, very useful in case duplicity tends to fill up /tmp.
ldap
- Fixed shell command quoting issues, missing 'then' clauses, cleaned up compress=yes to be less redundant and not create empty uncompressed file (Closes: DEBBUG-394935)
- Fixed ninjahelper to properly set compress option, standardized on yes/no instead of on/off
- Fixed problem that caused combination of slapcat and compress to not work together (Closes: Trac#29)
- Applied patch from romain.tartiere@healthgrid.org to fix the SSL/TLS options to be correct, also set TLS to be the default over SSL (Closes: Trac#13)
maildir
- Added an examples file (Closes: Trac#23)
- Applied patch from Anarcat that fixes the cp/mkdir calls to not use GNU coreutils options, as well as some bashisms (Closes: Trac#24)
- Fix test mode (Closes: Trac#25)
mysql
- Fixed case where odd combination of configuration options caused sqldump backups to get overwritten with an empty file (Closes: DEBBUG-402679)
- Added 'nodata' option to enable you to specify tables that you want to omit the data from a backup, but still backup the table structure. This is very useful in cases where tables contain large amounts of cache data. See the example.mysql for options, thanks Daniel Bonniot (Closes: DEBBUG-408829)
- Enhance code for selecting databases by asking MySQL not to give us the header (-N), to not draw pretty boxes around the output (-B), send the query via -e instead of a pipe and ensure MySQL listens to -B. Thanks to Matthew Palmer (Closes: DEBBUG-452039).
pgsql
- Support configuring PGSQLUSER for real, and document it a bit; this broken support actually prevented pgsql handler to work for VServers (Closes: DEBBUG-396578)
rdiff-backup
- Added cstream support to allow for bandwidth limiting
- Handle "keep = yes" to disable old backups removal (Closes: DEBBUG-424633)
- Add configuration option to allow you to disable the version check as in some instances this may be an ok scenario (Closes: DEBBUG-424632)
- Added local destination support to helper (Closes: Trac#4)
- Allow exclude-only configurations (Closes: Trac#21)
rub/rsync
- Fixed typo in rub handler that caused it to not work
- Changed to use lib/vserver code
- Fixed fsck error
- Fixed integer comparison (Closes: Trac#3)
- Renamed handler to 'rsync', replaces outdated rub handler
- updated examples/Makefile.am and handlers/Makefile.am to include rsnap/rsync (Closes: DEBBUG-440554)
- Added example.rsync configuration file
sys
- Fixed typo breaking things for VServers.
- Fix bug when vrootdir is on its own partition (Closes: DEBBUG-395928)
- Better sfdisk error and output handling: should now properly warn when it does not manage to backup a partition table, and shut up when it succeeds (Closes: DEBBUG-396632)
- Added option to not use sfdisk at all, useful for vserver/xen instances that produce warnings about no harddisks found (Closes: DEBBUG-404071)
- Fixed example in example.sys to detail the
__star__
in partitionsfile and note why its necessary (Closes: DEBBUG-409192) - Force C locale for sfdisk to ensure english words are found in grep
- Make directory where output is placed configurable, and create the parent dir if it doesn't exist (Closes: Trac#1)
ninjareport
- Added first draft of method to aggregate reports from many servers into one email. Requires logtail, rsync, configuration of reporthost, reportdirectory and reportuser in backupninja.conf. Configure cron to run once a day, and individual backupninjas not to report by email their status, then enjoy one email report from all hosts, rather than multiple
other
- fixed 'make install' bug that failed if /etc/backup.d already existed
- changed spaces to tabs in Makefile.am
- updated redhat spec file (thanks Adam Monsen)
[0.9.4] - 2006-10-06
backupninja changes
- Fixed bug in toint(), and thus isnow(), which caused it to not work when run from cron.
- Recursively ignore subdirs in /etc/backup.d (Closes: DEBBUG-361102)
- Add admingroup option to configuration to allow a group that can read/write configurations (instead of only allowing root). Checks and complains about group-readable files only when the group differs from the one in the configuration file (default is root as before). Thanks to Martin Krafft for the patch (Closes: DEBBUG-370396).
- When determining which backup actions to make, find now follows symlinks for $configdirectory
- Changed order of -s to mail for compatibility
- fixed permission stat call so it uses the --format supported by coreutils (Closes: DEBBUG-382747)
- Added disk space report option (thanks Adam Kosmin)
handler changes
Added tar handler
- create tarballs
Added rsnap handler
- rotated rsync snapshops
- code from paulv@bikkel.org
Added rub handler
- alternative to rsnap
- code from rhatto@riseup.net
mysql
- Fixed improper use of $vuserhome (Closes: DEBBUG-351083)
- Fixed erroneous removal of tmpfile when it didn't exit
- Fixed inversed vsname emptiness check
- Fixed su quote usage to be more posixy
- Compress for sqldumps now happens in-line to save some disk space (Closes: DEBBUG-370778)
- Fixed --defaults-file now as --defaults-extra-file (thanks rhatto)
pgsql
- Fixed inversed vsname emptiness check
- Fixed su quote usage to be more posixy
- Fixed shell expansion, thanks Thomas Kotzian (Closes: DEBBUG-363297)
- postgres user UID is now the one from inside the vserver if necessary
- Compress now happens in-line to save some disk space (Closes: DEBBUG-370778)
- $PGSQLUSER is used instead of hardcoding user 'postgres' (although this is the default)
svn
- Fixed inversed vsname emptiness check
rdiff
- Symlink and globbing support in include/exclude/vsinclude. Clarification: globbing is fully supported again, whereas no attempt is done to dereference symlinks anymore, due to incompatibilities between various readlink versions in this field.
- Removed overzealous vsnames check
- Now works if testconnect=no and if $test is not defined.
- add $sshoptions config parameter in [dest] section of config so connections to ports other than 22 can be made by adding the following to the top of the handler config: options = --remote-schema 'ssh -p REMOTE-PORT -C %s rdiff-backup --server'
dup
- Symlink and globbing support in include/exclude/vsinclude. Clarification globbing is fully supported again, whereas no attempt is done to dereference symlinks anymore, due to incompatibilities between various readlink versions in this field.
- Removed over zealous vsnames check
- Does not pretend anymore that duplicity can work without any passphrase
- Support duplicity 0.4.2 (with Debian patches applied; upstream's 0.4.3 will integrate them); documented how to write sftp-compatible sshoptions (Closes: DEBBUG-388543)
- Now forbid to (try to) include /.
sys
- Many more system checks were added, (thanks to Petr Klíma)
- Added warning if no devices were found (thanks Ranier Zocholl)
- Enhanced debian package selections to include purged packages (thanks Tom Hoover)
- Removed warning about vserver not running (thanks anarcat)
ldap
- Compress now happens in-line to save some disk space (Closes: DEBBUG-370778)
makecd
- Added nicelevel option (thanks rhatto)
trac
- fixed problem when src was set to the trac repo directly (Closes: DEBBUG-382737)
lib changes
vserver
- init_vservers: fixed DEBBUG-351083 (improper readlink syntax)
- found_vservers: escaped special grep repetition character +
- forced mktemp to use a template with a name to be more compatible with different versions of mktemp, thanks anarcat
ninjahelper changes
- Recursively ignore subdirs in /etc/backup.d (Closes: DEBBUG-361102)
- Fix configdirectory error that forced you to use /etc/backup.d, thanks anarcat
- When determining which backup actions to list, find now follows symlinks for $configdirectory
- Stop checking helpers perms: both "make install" and distros packages install them with appropriate permissions, it's overzealous to check this at runtime, and is more complicated to do with current admingroup option.
dup.helper
- Fix: signing was enabled with symmetric encryption.
other
- changed cron permissions to 644
- changed /etc/backup.d permissions to 0770 (for admingroup)
- minor documentation fixes
- improved RPM build process allowing 'make rpm-package' and 'make srpm-package' targets, also fixes permissions on man directories, cleans up RPM-related files during distclean, and adds default EDITOR for "autogen.sh -f" if none is set. (thanks Robert Napier)
[0.9.3] - 2006-02-01
backupninja changes
backupninja.conf
- added (commented out) the various default paths to programs such as PGSQLDUMP, so that users can figure out more easily they can customize them
code refactor
- now uses vservers lib to initialize vservers support
handler changes
duplicity, mysql, pgsql, rdiff, svn, sys:
- start to use (at different degrees) new lib/vserver functionality
mysql
- fixed no user defaults file processing
duplicity
- fixed (again...) globbing in include and exclude options (DEBBUG-348022, follow-up to DEBBUG-338796)
- warn if vsnames or vsinclude is enabled while vservers support is disabled in backupninja.conf
- now works when multiple vservers names are given (separated by space) in vsnames config variable rdiff
- fixed globbing bug in include, exclude and vsinclude options
- it's now possible to choose exactly which vservers should be backed-up, as it already was with duplicity handler, with the "vsnames" configuration setting
ninjahelper changes
rdiff.helper
- fixed errors in create remote dir
- code formatting cleanup (three spaces indent)
- fixed bug which caused only first include/exclude dir to have "include = "
- fixed globbing bug with exclude
ninjahelper
- now reports error if the helper script has a syntax error or bombs out.
- code formatting cleanup (three spaces indent)
lib changes
vserver
- init_vservers: improved VROOTDIR detection
- init_vservers: test in a stricter way the real vservers availability
- init_vservers: canonicalize VROOTDIR (since duplicity et al. don't follow symlinks)
- init_vservers: warn if vservers are enabled but no vserver is found
- new function: vservers_exist known bugs:
easydialog
- formDisplay does not return exit status.
other
- autotools fixes
[0.9.2] - 2005-12-29
backupninja changes
- fixed broken toint() which caused when "everyday" problems
- backupninja.conf.5 updated to include "when" and "vservers"
code refactor:
- moved to lib/ some code that has to be shared between backupninja and ninjahelper
handler changes
trac
- mkdir subdirectory problem fixed
duplicity
- globbing support fixed in include and exclude options
- different signing and encrypting key support added
- fixed erroneous comments in example.dup about the way GnuPG-related options are used
mysql
- handler vserver bugs fixed and debug output enhanced
ninjahelper(s) changes
- vserver-related functions added to lib/vservers.in
- added man/ninjahelper.1 man page
makecd
- was missing in Makefile.am/.in
rdiff-backup
- used to expand '*' in default source directories
- the "Cancel" buttons used to have a weird behaviour
- updated to include Vserver selection
pgsql
- forbid the user to choose an empty database set
- "Cancel" button now does what it is meant to do
mysql
- enhanced for vserver support
- now able to select databases and dump directory
duplicity
- new handler added (with Vserver support)
[0.9.1] - 2005-11-05
- rearranged source so that it is relocatable with autotools (thanks to Petr Klíma petr.klima@madeta-group.cz)
- fixed many bugs in rdiff helper
- rdiff handler does not require 'label' (for real this time?)
- added makecd ninjahelper (thanks to Stefani stefani@riseup.net)
- made ninjahelper create files with mode 600 rather than 000
- changed subversion handler to use svnadmin hotcopy instead of the unsupported hot-copy.py script, which was moved in Debian
- update rdiff ninjahelper: now detects and auto-install rdiff-backup on the remote machine if possible, also tests the remote backup directory and offers to create it if it doesn't exist
[0.9] - 2005-10-19
IMPORTANT CHANGE, UPGRADE AT ONCE
- fixed insecure temporary file creation
- removed erroneous magic file marker in pgsql handler
- fixed incorrect find positional
- changed direct grep of /etc/passwd to getent passwd.
- rdiff helper has much better information on failed ssh attempt (patch from cmccallum@thecsl.org).
- rdiff handler now supports remote source and local dest. (patch from cmccallum@thecsl.org).
- man pages are greatly improved.
[0.8] - 2005-09-15
- added pgsql (PostgreSQL) handler, with vservers support.
- added vservers support to duplicity handler Note: the configuration is a bit different than the rdiff handler's one, but the default behavior is the same: have a look at example.dup.
- improved README
- documented .disabled method.
- corrected VROOTDIR default value.
- added ninjahelper to the install instructions.
- improved rdiff, dup and sys handlers' vservers support prevent vserver-debiantools' $VROOTDIR/ARCHIVES directory to be seen as a vserver
- changes to sys handler make use of configurable $VSERVERINFO instead of hard-coded vserver-info. fixed dpkg existence test inside vserver. fixed $nodpkg use.
- changes to pgsql handler now checks if the specified vserver is running. now checks if $PGSQLDUMP/$PGSQLDUMPALL are available where needed. now checks if "postgres" user exists on the host/vserver.
- changes to ninjahelper check_perms() does not die anymore on group/world readable helper scripts (now consistent with the "helper scripts must not be group or world writable!" error msg).
- xedit action now tries $EDITOR, then /etc/alternatives/editor, then nano, vim and vi, and aborts if none of these exists.
- added helper for pgsql handler.
- rdiff handler now does not require 'label'
- changes to mysql and svn handlers' vservers support these handlers now check if the source vserver is running
- added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
[0.7] - 2005-07-26
- added ninjahelper: a dialog based wizard for creating backupninja configs.
- considerably improved and changed the log file output.
- you can now disable actions with .disabled (this is new preferred method).
- added makecd handler and example.makecd for backing up to cd/dvd (thanks stef).
- fixed bug when specifying multiple 'when' options.
[0.6] - 2005-06-16
- ldap handler has new options: backup method to use (ldapsearch or slapcat), restart, passwordfile and binddn. Default backup method is set to ldapsearch as this is safer
- NOTE: to get the previous default behavior with the ldap handler, you must set "method = slapcat". The new default is ldapsearch.
- implemented fix so that the main script will echo fatal errors rather than being silent about them, this means an error message every hour if there is a major configuration problem (not a handler problem)
- added vserver support to main script and to the handlers: mysql, svn, sys, rdiff
- changes to duplicity handler (thanks intrigeri!): "keep = yes" now disables file cleaning on desthost added "sign" option for backups signing added "encryptkey" option to specify the gpg key to use split config into [source], [gpg] and [dest] sections added "nicelevel" option added "testconnect" option added "sshoptions" option (will be passed to ssh/scp) added "bandwidthlimit" option
- example.dup example config file for duplicity handler
- added trac (http://trac.edgewall.com/) environment handler (thanks Charles Lepple!)
- added configfile option to mysql handler the default is /etc/mysql/debian.cnf. with this, sqldump doesn't need dbusername. (hotcopy still does).
- fixed bug in mysql handler which caused some passwords to not work. (.my.cnf files now have double quotes around password)
- can now pass options to hwinfo and sfdisk in sys handler.
[0.5] - 2005-04-12
- rdiff handler works when remote sshd has a banner
- rdiff handler supports local dest
- logfile is created if it doesn't exist
- added "when = hourly"
- added optional 'nicelevel' to rdiff handler
- fixed bug where actions were not run in numeric order.
- improved 'when' parsing.
[0.4.4] - 2005-03-18
- results of handlers are now read line by line.
- changes to rdiff handler: added "options", and "keep" is not necessarily days now (ie, it will pass straight through to rdiff-backup if the keep has a unit on it, otherwise it adds the 'D').
- added dup handler (still pretty beta)
- added maildir handler (very specialized handler)
- added --run option (runs the specified action file)
- improved sys handler, now uses hwinfo
- added subversion hotbackup handler, svn.
- added PATH to cron.d file, which fixes file not found errors.
[0.4.2] - 2005-01-06
- fixed bug which caused a report email to be sent even if no actions were run.
- fixed bug where multiple handler status messages were ignored
- added status in the subject line of report emails
[0.4.1] - 2005-01-03
- added $usecolors and now more conservative about when colors are echoed.
- fixed major bug, 'when' actually works now.
- replaced debug function with debug, info, warning, error, fatal.
- added --now option to force all actions to be performed now.
[0.4] - 2004-12-26
- added "when" option, so that all configs can specify when they are to be run.
- added reportsuccess and reportwarning config options
- added .sys handler (hardware, packages, partitions).
[0.3.4] - 2004-12-08
- fixed numerical variable quoting compatibility with older wc
- fixed stderr redirect bug
- some comments in example.rdiff
[0.3.3] - 2004-11-10
- '*' (asterisk) works now in rdiff config files
- works now with gawk as well as mawk
- many bug fixes to ldap handler
- paths to helper scripts can be configured in global config
- does not require /usr/bin/stat
[0.3.2] - 2004-09-29
- handler scripts are no longer executable (to comply with debian policy)
- handler error and warning messages are sent with the notify email
[0.3.1] - 2004-09-05
- added ldap handler
- moved sh support to a handler script
- add test mode, where no action is taken.
- added --help
- force only root can read /etc/backup.d/*
- fixed missing equals symbols in example.rdiff
- changed backupninja executable to be /usr/sbin rather than /usr/bin
[0.3] - 2004-10-20
- IMPORTANT all config files are now ini style, not apache style
- rewrote all scripts in bash for portability
- added drop-in backupninja lib directory (/usr/share/backupninja)
- all scripts are now run as root
[0.2] - 2004-10-14
- move distribution folder ./cron.d to ./etc/cron.d
- fixed bug: removed printr of excludes (!)
- added support for changing the user/group in rdiff sources.
- added support for .mysql config files.
[0.1] - 2004-10-08
- initial release