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