1 version 0.9.5 -- unreleased
3 . Added first draft of method to aggregate reports from many servers into
4 one email. Requires logtail, rsync, configuration of reporthost,
5 reportdirectory and reportuser in backupninja.conf. Configure cron to
6 run once a day, and individual backupninjas not to report by email their
7 status, then enjoy one email report from all hosts, rather than multiple
9 . Fixed checks on configuration files permissions, since the patch
10 applied to fix #370396 broke this, especially for configuration files
11 created with permissions 000 by an older ninjahelper version.
12 . Enhanced portability for other platforms
13 . Added quoting because it was needed to prevent shell expansion, broking the
14 toint function sometimes (Trac#11)
15 . Fixed reportspace option (Trac#10)
18 . Support duplicity >= 0.4.3 invocation syntax (--ssh-command option
19 is not supported anymore)
21 . Fixed shell command quoting issues, missing 'then' clauses, cleaned up
22 compress=yes to be less redundant and not create empty uncompressed
23 file (Closes: #394935)
25 . Added an examples file (Closes: Trac#23)
27 . Fixed case where odd combination of configuration options caused sqldump
28 backups to get overwritten with an empty file (Closes: #402679)
29 . Added 'nodata' option to enable you to specify tables that you want to omit
30 the data from a backup, but still backup the table structure. This is very
31 useful in cases where tables contain large amounts of cache data. See the
32 example.mysql for options, thanks Daniel Bonniot (Closes: #408829)
33 . Enhance code for selecting databases by asking MySQL not to give us the
34 header (-N), to not draw pretty boxes around the output (-B), send the query
35 via -e instead of a pipe and ensure MySQL listens to -B. Thanks to
36 Matthew Palmer (Closes: #452039).
38 . Support configuring PGSQLUSER for real, and document it a bit; this
39 broken support actually prevented pgsql handler to work for VServers
42 . Added cstream support to allow for bandwidth limiting
43 . Handle "keep = yes" to disable old backups removal (Closes: #424633)
44 . Add configuration option to allow you to disable the version check
45 as in some instances this may be an ok scenario (Closes: #424632)
46 . Added local destination support to helper (Closes: Trac#4)
48 . Fixed typo in rub handler that caused it to not work
49 . Changed to use lib/vserver code
51 . Fixed integer comparison (Closes: Trac#3)
52 . Renamed handler to 'rsync', replaces outdated rub handler
53 . updated examples/Makefile.am and handlers/Makefile.am to include
54 rsnap/rsync (Closes: #440554)
55 . Added example.rsync configuration file
57 . Fixed typo breaking things for VServers.
58 . Fix bug when vrootdir is on its own partition (Closes: #395928)
59 . Better sfdisk error and output handling: should now properly warn
60 when it does not manage to backup a partition table, and shut up when
61 it succeeds (Closes: #396632)
62 . Added option to not use sfdisk at all, useful for vserver/xen instances
63 that produce warnings about no harddisks found (Closes: #404071)
64 . Fixed example in example.sys to detail the __star__ in partitionsfile and
65 note why its necessary (Closes: #409192)
66 . Force C locale for sfdisk to ensure english words are found in grep
67 . Make directory where output is placed configurable, and create the parent dir
68 if it doesn't exist (Closes: Trac#1)
69 fixed 'make install' bug that failed if /etc/backup.d already existed
70 changed spaces to tabs in Makefile.am
73 version 0.9.4 -- October 6th, 2006
75 . Fixed bug in toint(), and thus isnow(), which caused it
76 to not work when run from cron.
77 . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
78 . Add admingroup option to configuration to allow a group that can
79 read/write configurations (instead of only allowing root). Checks
80 and complains about group-readable files only when the group differs
81 from the one in the configuration file (default is root as before).
82 Thanks to Martin Krafft for the patch (Closes: #370396).
83 . When determining which backup actions to make, find now follows
84 symlinks for $configdirectory
85 . Changed order of -s to mail for compatibility
86 . fixed permission stat call so it uses the --format supported by
87 coreutils (Closes: #382747)
88 . Added disk space report option (thanks Adam Kosmin)
93 . rotated rsync snapshops
94 . code from paulv@bikkel.org
96 . alternative to rsnap
97 . code from rhatto@riseup.net
99 . Fixed improper use of $vuserhome (Closes: #351083)
100 . Fixed erroneous removal of tmpfile when it didn't exit
101 . Fixed inversed vsname emptiness check
102 . Fixed su quote usage to be more posixy
103 . Compress for sqldumps now happens in-line to save some disk space (Closes: #370778)
104 . Fixed --defaults-file now as --defaults-extra-file (thanks rhatto)
106 . Fixed inversed vsname emptiness check
107 . Fixed su quote usage to be more posixy
108 . Fixed shell expansion, thanks Thomas Kotzian (Closes: #363297)
109 . postgres user UID is now the one from inside the vserver if necessary
110 . Compress now happens in-line to save some disk space (Closes: #370778)
111 . $PGSQLUSER is used instead of hardcoding user 'postgres' (although this is the default)
113 . Fixed inversed vsname emptiness check
115 . Symlink and globbing support in include/exclude/vsinclude
116 clarification: globbing is fully supported again, whereas no attempt
117 is done to dereference symlinks anymore, due to incompatibilities
118 between various readlink versions in this field.
119 . Removed overzealous vsnames check
120 . Now works if testconnect=no and if $test is not defined.
121 . add $sshoptions config parameter in [dest] section of config so
122 connections to ports other than 22 can be made by adding the
123 following to the top of the handler config:
124 options = --remote-schema 'ssh -p REMOTE-PORT -C %s rdiff-backup
127 . Symlink and globbing support in include/exclude/vsinclude
128 clarification: globbing is fully supported again, whereas no attempt
129 is done to dereference symlinks anymore, due to incompatibilities
130 between various readlink versions in this field.
131 . Removed over zealous vsnames check
132 . Does not pretend anymore that duplicity can work without
134 . Support duplicity 0.4.2 (with Debian patches applied; upstream's
135 0.4.3 will integrate them); documented how to write sftp-compatible
136 sshoptions (Closes: #388543)
137 . Now forbid to (try to) include /.
139 . Many more system checks were added, (thanks to Petr Klíma)
140 . Added warning if no devices were found (thanks Ranier Zocholl)
141 . Enhanced debian package selections to include purged packages (thanks
143 . Removed warning about vserver not running (thanks anarcat)
145 . Compress now happens in-line to save some disk space (Closes: #370778)
147 . Added nicelevel option (thanks rhatto)
149 . fixed problem when src was set to the trac repo directly (Closes: #382737)
152 . init_vservers: fixed Debian bug #351083 (improper readlink syntax)
153 . found_vservers: escaped special grep repetition character +
154 . forced mktemp to use a template with a name to be more compatible with
155 different versions of mktemp, thanks anarcat
157 . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
158 . Fix configdirectory error that forced you to use /etc/backup.d, thanks anarcat
159 . When determining which backup actions to list, find now follows
160 symlinks for $configdirectory
161 . Stop checking helpers perms: both "make install" and distros packages
162 install them with appropriate permissions, it's overzealous to check
163 this at runtime, and is more complicated to do with current
166 . Fix: signing was enabled with symmetric encryption.
167 changed cron permissions to 644
168 changed /etc/backup.d permissions to 0770 (for admingroup)
169 minor documentation fixes
170 improved RPM build process allowing 'make rpm-package' and 'make
171 srpm-package' targets, also fixes permissions on man directories,
172 cleans up RPM-related files during distclean, and adds default
173 EDITOR for "autogen.sh -f" if none is set. (thanks Robert Napier)
175 version 0.9.3 -- February 1st, 2006
179 . added (commented out) the various default paths to
180 programs such as PGSQLDUMP, so that users can figure
181 out more easily they can customize them
183 . now uses vservers lib to initialize vservers support
185 duplicity, mysql, pgsql, rdiff, svn, sys: start to use (at different
186 degrees) new lib/vserver functionality
188 . fixed no user defaults file processing
190 . fixed (again...) globbing in include and exclude options (Debian bug
191 #348022, follow-up to #338796)
192 . warn if vsnames or vsinclude is enabled while vservers support is
193 disabled in backupninja.conf
194 . now works when multiple vservers names are given (separated by space)
195 in vsnames config variable
197 . fixed globbing bug in include, exclude and vsinclude options
198 . it's now possible to choose exactly which vservers should be
199 backed-up, as it already was with duplicity handler, with the
200 "vsnames" configuration setting
203 . fixed errors in create remote dir
204 . code formatting cleanup (three spaces indent)
205 . fixed bug which caused only first include/exclude dir to
207 . fixed globbing bug with exclude
209 . now reports error if the helper script has a syntax error or bombs out.
210 . code formatting cleanup (three spaces indent)
213 . init_vservers: improved VROOTDIR detection
214 . init_vservers: test in a stricter way the real vservers availability
215 . init_vservers: canonicalize VROOTDIR (since duplicity et al.
216 don't follow symlinks)
217 . init_vservers: warn if vservers are enabled but no vserver is found
218 . new function: vservers_exist
221 . formDisplay does not return exit status.
223 version 0.9.2 -- December 29, 2005
225 fixed broken toint() which caused when "everyday" problems
226 backupninja.conf.5 updated to include "when" and "vservers"
228 . moved to lib/ some code that has to be shared between
229 backupninja and ninjahelper
232 . mkdir subdirectory problem fixed
234 . globbing support fixed in include and exclude options
235 . different signing and encrypting key support added
236 . fixed erroneous comments in example.dup about the way
237 GnuPG-related options are used
239 . handler vserver bugs fixed and debug output enhanced
240 ninjahelper(s) changes
241 vserver-related functions added to lib/vservers.in
242 added man/ninjahelper.1 man page
244 . was missing in Makefile.am/.in
246 . used to expand '*' in default source directories
247 . the "Cancel" buttons used to have a weird behaviour
248 . updated to include Vserver selection
250 . forbid the user to choose an empty database set
251 . "Cancel" button now does what it is meant to do
253 . enhanced for vserver support
254 . now able to select databases and dump directory
256 . new handler added (with Vserver support)
258 version 0.9.1 -- November 05 2005
259 rearranged source so that it is relocatable with autotools
260 (thanks to Petr Klíma petr.klima@madeta-group.cz)
261 fixed many bugs in rdiff helper
262 rdiff handler does not require 'label' (for real this time?)
263 added makecd ninjahelper
264 (thanks to Stefani stefani@riseup.net)
265 made ninjahelper create files with mode 600 rather than 000
266 changed subversion handler to use svnadmin hotcopy instead of
267 the unsupported hot-copy.py script, which was moved in Debian
268 update rdiff ninjahelper
269 now detects and auto-install rdiff-backup on the remote
270 machine if possible, also tests the remote backup directory
271 and offers to create it if it doesn't exist
273 version 0.9 -- October 19 2005
274 *** IMPORTANT CHANGE, UPGRADE AT ONCE ***
275 fixed insecure temporary file creation
276 *****************************************
277 removed erroneous magic file marker in pgsql handler
278 fixed incorrect find positional
279 changed direct grep of /etc/passwd to getent passwd.
280 rdiff helper has much better information on failed ssh attempt
281 (patch from cmccallum@thecsl.org).
282 rdiff handler now supports remote source and local dest.
283 (patch from cmccallum@thecsl.org).
284 man pages are greatly improved.
286 version 0.8 -- September 15 2005
287 added pgsql (PostgreSQL) handler, with vservers support.
288 added vservers support to duplicity handler
289 Note: the configuration is a bit different than the rdiff
290 handler's one, but the default behavior is the same:
291 have a look at example.dup.
293 documented .disabled method.
294 corrected VROOTDIR default value.
295 added ninjahelper to the install instructions.
296 improved rdiff, dup and sys handlers' vservers support
297 prevent vserver-debiantools' $VROOTDIR/ARCHIVES directory
298 to be seen as a vserver
299 changes to sys handler
300 make use of configurable $VSERVERINFO instead of hard-coded vserver-info.
301 fixed dpkg existence test inside vserver.
303 changes to pgsql handler
304 now checks if the specified vserver is running.
305 now checks if $PGSQLDUMP/$PGSQLDUMPALL are available where needed.
306 now checks if "postgres" user exists on the host/vserver.
307 changes to ninjahelper
308 check_perms() does not die anymore on group/world readable
309 helper scripts (now consistent with the "helper scripts
310 must not be group or world writable!" error msg).
311 xedit action now tries $EDITOR, then /etc/alternatives/editor,
312 then nano, vim and vi, and aborts if none of these exists.
313 added helper for pgsql handler.
314 rdiff handler now does not require 'label'
315 changes to mysql and svn handlers' vservers support
316 these handlers now check if the source vserver is running
317 added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
319 version 0.7 -- July 26 2005
320 added ninjahelper: a dialog based wizard for creating backupninja configs.
321 considerably improved and changed the log file output.
322 you can now disable actions with .disabled (this is new preferred method).
323 added makecd handler and example.makecd for backing up to cd/dvd (thanks stef).
324 fixed bug when specifying multiple 'when' options.
326 version 0.6 -- June 16 2005
327 ldap handler has new options: backup method to use (ldapsearch or
328 slapcat), restart, passwordfile and binddn. Default backup method
329 is set to ldapsearch as this is safer
330 ******************************************************************
331 NOTE: to get the previous default behavior with the ldap handler,
332 you must set "method = slapcat". The new default is ldapsearch.
333 ******************************************************************
334 implemented fix so that the main script will echo fatal errors rather
335 than being silent about them, this means an error message every hour
336 if there is a major configuration problem (not a handler problem)
337 added vserver support to main script and to the handlers: mysql, svn, sys, rdiff
338 changes to duplicity handler (thanks intrigeri!):
339 "keep = yes" now disables file cleaning on desthost
340 added "sign" option for backups signing
341 added "encryptkey" option to specify the gpg key to use
342 split config into [source], [gpg] and [dest] sections
343 added "nicelevel" option
344 added "testconnect" option
345 added "sshoptions" option (will be passed to ssh/scp)
346 added "bandwidthlimit" option
347 example.dup example config file for duplicity handler
348 added trac (http://trac.edgewall.com/) environment handler (thanks Charles Lepple!)
349 added configfile option to mysql handler
350 the default is /etc/mysql/debian.cnf. with this,
351 sqldump doesn't need dbusername. (hotcopy still does).
352 fixed bug in mysql handler which caused some passwords to not work.
353 (.my.cnf files now have double quotes around password)
354 can now pass options to hwinfo and sfdisk in sys handler.
356 version 0.5 -- April 12 2005
357 rdiff handler works when remote sshd has a banner
358 rdiff handler supports local dest
359 logfile is created if it doesn't exist
360 added "when = hourly"
361 added optional 'nicelevel' to rdiff handler
362 fixed bug where actions were not run in numeric order.
363 improved 'when' parsing.
365 version 0.4.4 -- March 18 2005
366 results of handlers are now read line by line.
367 changes to rdiff handler: added "options", and "keep" is
368 not necessarily days now (ie, it will pass straight through to
369 rdiff-backup if the keep has a unit on it, otherwise it adds the 'D').
370 added dup handler (still pretty beta)
371 added maildir handler (very specialized handler)
372 added --run option (runs the specified action file)
373 improved sys handler, now uses hwinfo
374 added subversion hotbackup handler, svn.
375 added PATH to cron.d file, which fixes file not found errors.
377 version 0.4.2 -- Jan 6 2005
378 fixed bug which caused a report email to be sent even if no actions were run.
379 fixed bug where multiple handler status messages were ignored
380 added status in the subject line of report emails
382 version 0.4.1 -- Jan 3 2005
383 added $usecolors and now more conservative about when colors are echoed.
384 fixed major bug, 'when' actually works now.
385 replaced debug function with debug, info, warning, error, fatal.
386 added --now option to force all actions to be performed now.
388 version 0.4 -- Dec 26 2004
389 added "when" option, so that all configs can specify when
391 added reportsuccess and reportwarning config options
392 added .sys handler (hardware, packages, partitions).
394 version 0.3.4 -- Dec 8 2004
395 fixed numerical variable quoting compatibility with older wc
396 fixed stderr redirect bug
397 some comments in example.rdiff
399 version 0.3.3 -- Nov 10 2004
400 '*' (asterisk) works now in rdiff config files
401 works now with gawk as well as mawk
402 many bug fixes to ldap handler
403 paths to helper scripts can be configured in global config
404 does not require /usr/bin/stat
406 version 0.3.2 -- Sept 29 2004
407 handler scripts are no longer executable (to comply with debian policy)
408 handler error and warning messages are sent with the notify email
410 version 0.3.1 -- Sept 5 2004
412 moved sh support to a handler script
413 add test mode, where no action is taken.
415 force only root can read /etc/backup.d/*
416 fixed missing equals symbols in example.rdiff
417 changed backupninja executable to be /usr/sbin rather than /usr/bin
419 version 0.3 -- Oct 20 2004
420 ** IMPORTANT ** all config files are now ini style, not apache style
421 rewrote all scripts in bash for portability
422 added drop-in backupninja lib directory (/usr/share/backupninja)
423 all scripts are now run as root
425 version 0.2 -- Oct 14 2004
426 move distribution folder ./cron.d to ./etc/cron.d
427 fixed bug: removed printr of excludes (!)
428 added support for changing the user/group in rdiff sources.
429 added support for .mysql config files.
431 version 0.1 -- Oct 8 2004