You can subscribe to this list here.
2007 |
Jan
(76) |
Feb
(76) |
Mar
(54) |
Apr
(14) |
May
(23) |
Jun
(21) |
Jul
|
Aug
|
Sep
(9) |
Oct
(14) |
Nov
(12) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(18) |
Mar
(3) |
Apr
|
May
|
Jun
(2) |
Jul
(3) |
Aug
|
Sep
|
Oct
(17) |
Nov
(13) |
Dec
|
2009 |
Jan
(1) |
Feb
(1) |
Mar
(15) |
Apr
(2) |
May
(18) |
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
(1) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(61) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(18) |
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(4) |
Nov
(10) |
Dec
(9) |
2012 |
Jan
(10) |
Feb
(23) |
Mar
|
Apr
(5) |
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(4) |
2013 |
Jan
(17) |
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <di...@us...> - 2008-07-17 23:56:20
|
Revision: 598 http://safekeep.svn.sourceforge.net/safekeep/?rev=598&view=rev Author: dimi Date: 2008-07-17 23:56:15 +0000 (Thu, 17 Jul 2008) Log Message: ----------- Use the default version to avoid copy&paste problems. Modified Paths: -------------- safekeep/trunk/doc/safekeep.backup.txt Modified: safekeep/trunk/doc/safekeep.backup.txt =================================================================== --- safekeep/trunk/doc/safekeep.backup.txt 2008-07-17 19:00:36 UTC (rev 597) +++ safekeep/trunk/doc/safekeep.backup.txt 2008-07-17 23:56:15 UTC (rev 598) @@ -35,7 +35,7 @@ <repo path="./data" retention="10D"/> <options> - <special-files include="true"/> + <special-files include="false" /> </options> <!-- settings for database dump and for volume snapshot --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-07-17 19:00:59
|
Revision: 597 http://safekeep.svn.sourceforge.net/safekeep/?rev=597&view=rev Author: dimi Date: 2008-07-17 19:00:36 +0000 (Thu, 17 Jul 2008) Log Message: ----------- Rework a bit the options processing such that generic rdiff-backup options don't affect the behaviour of the 'special-files' option. Modified Paths: -------------- safekeep/trunk/safekeep Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-07-17 18:52:09 UTC (rev 596) +++ safekeep/trunk/safekeep 2008-07-17 19:00:36 UTC (rev 597) @@ -712,13 +712,12 @@ args.extend(['--force']) options_append = [] + special_files = ['--exclude-special-files', '--include-symbolic-links'] for option in cfg['options']: if 'special-files' in option: if 'include' in option['special-files']: - if 'true'.startswith(option['special-files']['include'].lower()): - options_append.extend(['--include-special-files']) - else: - options_append.extend(['--exclude-special-files', '--include-symbolic-links']) + if 'true' == option['special-files']['include'].lower(): + special_files = ['--include-special-files'] # Note if we ever add other backends this section should only be run # when rback-diff is the current option. @@ -727,12 +726,9 @@ if 'append' in option['rdiff-backup']: options_append.extend(option['rdiff-backup']['append'].split(None)) - if options_append: - args.extend(options_append) - else: - args.extend(['--exclude-special-files', '--include-symbolic-links']) + args.extend(special_files) + args.extend(options_append) - #args.extend([ '-v', '6']) for clude in cfg['cludes']: opt = '--' + clude['type'] if clude['path']: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-07-17 18:52:21
|
Revision: 596 http://safekeep.svn.sourceforge.net/safekeep/?rev=596&view=rev Author: dimi Date: 2008-07-17 18:52:09 +0000 (Thu, 17 Jul 2008) Log Message: ----------- Frank Crawford <fr...@cr...> * Added options block in backup configuration file. * Added option to include special-files, i.e. device files, fifos and sockets. Default is to exclude these files. * Added option to allow inclusion of arbitrary rdiff-backup command. * Updated relevant documentation. Modified Paths: -------------- safekeep/trunk/doc/safekeep.backup.txt safekeep/trunk/safekeep Modified: safekeep/trunk/doc/safekeep.backup.txt =================================================================== --- safekeep/trunk/doc/safekeep.backup.txt 2008-06-27 12:55:26 UTC (rev 595) +++ safekeep/trunk/doc/safekeep.backup.txt 2008-07-17 18:52:09 UTC (rev 596) @@ -34,6 +34,10 @@ and for how long (D=days, W=weeks, M=months, or Y=years) --> <repo path="./data" retention="10D"/> + <options> + <special-files include="true"/> + </options> + <!-- settings for database dump and for volume snapshot --> <setup> <!-- database type ("postgres" or "mysql"), and database name, @@ -145,6 +149,20 @@ options don't affect removal of incremental data. Optional, defaults to empty (unlimited retention). +/backup/options/special-files/@include:: + One of "true" or "false". If "true", the dump file will + include all special files, including device files, fifo files and + socket files. + Optional, defaults to "false". + *NOTE*: specification of no options is equalent to false, but the + inclusion of other options may cause the underlying backup defaults + to be use. + +/backup/options/rdiff-backup/@append:: + Append the specified options to the current rdiff-backup run. + This is planned to be specific to the current rdiff-backup, and + different options will be made available for other backends. + /backup/setup/dump/@type:: One of "postgres" or "mysql". Mandatory for a `<dump>` element. Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-06-27 12:55:26 UTC (rev 595) +++ safekeep/trunk/safekeep 2008-07-17 18:52:09 UTC (rev 596) @@ -273,6 +273,22 @@ if not dir: dir = id dir = os.path.join(base_dir, dir) + options_els = backup_el.getElementsByTagName('options') + options = [] + if len(options_els) > 0: + for options_el in options_els[0].childNodes: + if options_el.nodeType != options_el.ELEMENT_NODE: + continue + option = options_el.nodeName + if option in ('special-files', 'rdiff-backup'): + if options_el.hasAttributes(): + for key, value in options_el.attributes.items(): + options.append({ option : { key : value } }) + else: + raise ConfigException('Option "%s" has no value' % option) + else: + raise ConfigException('Unknown option "%s"' % option) + setup_el = backup_el.getElementsByTagName('setup') dumps = [] snaps = [] @@ -305,7 +321,7 @@ return { 'id': id, 'host' : host, 'user' : user, 'key_ctrl' : key_ctrl, 'key_data' : key_data, 'dir' : dir, 'retention' : retention, 'dumps' : dumps, 'snaps' : snaps, - 'cludes' : cludes} + 'cludes' : cludes, 'options' : options} def parse_locs(cfglocs): cfgfiles = [] @@ -695,6 +711,27 @@ if force: args.extend(['--force']) + options_append = [] + for option in cfg['options']: + if 'special-files' in option: + if 'include' in option['special-files']: + if 'true'.startswith(option['special-files']['include'].lower()): + options_append.extend(['--include-special-files']) + else: + options_append.extend(['--exclude-special-files', '--include-symbolic-links']) + + # Note if we ever add other backends this section should only be run + # when rback-diff is the current option. + + if 'rdiff-backup' in option: + if 'append' in option['rdiff-backup']: + options_append.extend(option['rdiff-backup']['append'].split(None)) + + if options_append: + args.extend(options_append) + else: + args.extend(['--exclude-special-files', '--include-symbolic-links']) + #args.extend([ '-v', '6']) for clude in cfg['cludes']: opt = '--' + clude['type'] This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-06-27 12:56:30
|
Revision: 595 http://safekeep.svn.sourceforge.net/safekeep/?rev=595&view=rev Author: dimi Date: 2008-06-27 05:55:26 -0700 (Fri, 27 Jun 2008) Log Message: ----------- Update TODO Modified Paths: -------------- safekeep/trunk/TODO Modified: safekeep/trunk/TODO =================================================================== --- safekeep/trunk/TODO 2008-06-27 12:54:27 UTC (rev 594) +++ safekeep/trunk/TODO 2008-06-27 12:55:26 UTC (rev 595) @@ -5,6 +5,7 @@ * Avoid snapshotting snapshots * Don't snapshot a device if a snapshot is already present * local backup to bypass ssh + * add --exclude-sockets option Feedback from users: * Øyvind Skaar <os...@op...>: FreeBSD have snapshot capabilities This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-06-27 12:54:45
|
Revision: 594 http://safekeep.svn.sourceforge.net/safekeep/?rev=594&view=rev Author: dimi Date: 2008-06-27 05:54:27 -0700 (Fri, 27 Jun 2008) Log Message: ----------- Frank Crawford <fr...@cr...> * Loosen restrictions on running --server --cleanup so no root parts will still execute. * Allow local rdiff-backup data cleanup to occur even if client is not accessible. Modified Paths: -------------- safekeep/trunk/safekeep Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-03-18 15:51:44 UTC (rev 593) +++ safekeep/trunk/safekeep 2008-06-27 12:54:27 UTC (rev 594) @@ -567,69 +567,70 @@ if is_client: raise Exception('client not running as root') else: - error("--cleanup must be run as root") - sys.exit(2) - - scrubbed = False - if os.environ['PATH'][-1] == ':': - os.environ['PATH'] += '/sbin:/usr/sbin:/usr/local/sbin:' + warn('--cleanup should be run as root on client') + info('No cleanup performed') else: - os.environ['PATH'] += ':/sbin:/usr/sbin:/usr/local/sbin' + scrubbed = False - # Go through and unmount anythings that are still hanging around + if os.environ['PATH'][-1] == ':': + os.environ['PATH'] += '/sbin:/usr/sbin:/usr/local/sbin:' + else: + os.environ['PATH'] += ':/sbin:/usr/sbin:/usr/local/sbin' - debug("Cleaning up existing mounts") - for (device, mountpoint, mounttype, mountoptions) in mount_information(True): - if mountpoint.startswith('/mnt/safekeep-'): - info("Removing mount %s" % mountpoint) - if device == '/' and 'bind' in mountoptions.split(','): - info("Removing rbind directory %s" % mountpoint) - ret = spawn(['umount', '-l', mountpoint]) - if ret: - warn('Failed to unmount: ' + mountpoint) + # Go through and unmount anythings that are still hanging around + + debug("Cleaning up existing mounts") + for (device, mountpoint, mounttype, mountoptions) in mount_information(True): + if mountpoint.startswith('/mnt/safekeep-'): + info("Removing mount %s" % mountpoint) + if device == '/' and 'bind' in mountoptions.split(','): + info("Removing rbind directory %s" % mountpoint) + ret = spawn(['umount', '-l', mountpoint]) + if ret: + warn('Failed to unmount: ' + mountpoint) + else: + try: + os.rmdir(mountpoint) + except Exception, e: + warn('Failed to remove: ' + mountpoint) else: + ret = spawn(['umount', mountpoint]) + if ret: + warn('Can not unmount the snapshot: %s' % mountpoint) + if fnmatch.fnmatch(device, '*_snap_safekeep-*'): + info("Removing snapshot %s" % device) + ret = spawn(['lvremove', '--force', device]) + if ret: + warn('Can not tear down snapshot: ' + device) + scrubbed = True + + # Now cleanup any snapshots still hanging around + + debug("Cleaning up remaining snapshots") + for (volume, group) in lvm_snap_information(): + device = os.path.join('/dev', group, volume) + info("Removing snapshot %s" % device) + ret = spawn(['lvremove', '--force', device]) + if ret: + warn('Can not tear down snapshot: ' + device) + scrubbed = True + + # Now cleanup any safekeep directories still hanging around + + debug("Cleaning up remaining safekeep directories") + if os.path.isdir('/mnt'): + for ent in os.listdir('/mnt'): + mountpoint = os.path.join('/mnt', ent) + if ent.startswith('safekeep-') and os.path.isdir(mountpoint): + info("Removing rbind directory %s" % mountpoint) try: os.rmdir(mountpoint) except Exception, e: warn('Failed to remove: ' + mountpoint) - else: - ret = spawn(['umount', mountpoint]) - if ret: - warn('Can not unmount the snapshot: %s' % mountpoint) - if fnmatch.fnmatch(device, '*_snap_safekeep-*'): - info("Removing snapshot %s" % device) - ret = spawn(['lvremove', '--force', device]) - if ret: - warn('Can not tear down snapshot: ' + device) - scrubbed = True - # Now cleanup any snapshots still hanging around + if not scrubbed: + info('No cleanup required') - debug("Cleaning up remaining snapshots") - for (volume, group) in lvm_snap_information(): - device = os.path.join('/dev', group, volume) - info("Removing snapshot %s" % device) - ret = spawn(['lvremove', '--force', device]) - if ret: - warn('Can not tear down snapshot: ' + device) - scrubbed = True - - # Now cleanup any safekeep directories still hanging around - - debug("Cleaning up remaining safekeep directories") - if os.path.isdir('/mnt'): - for ent in os.listdir('/mnt'): - mountpoint = os.path.join('/mnt', ent) - if ent.startswith('safekeep-') and os.path.isdir(mountpoint): - info("Removing rbind directory %s" % mountpoint) - try: - os.rmdir(mountpoint) - except Exception, e: - warn('Failed to remove: ' + mountpoint) - - if not scrubbed: - info('No cleanup required') - def do_client(): debug("Do client main loop") should_cleanup = True @@ -741,6 +742,7 @@ info('------------------------------------------------------------------') info('Server backup starting for client %s' % id) + cleaned_up = 0 try: if cfg['host']: if not os.path.isfile(cfg['key_ctrl']): @@ -775,13 +777,13 @@ cin.write(cfg['text'] + '\n') cin.flush() do_server_getanswer(cout) - if cleanup: cin.write('SCRUB\n') cin.flush() do_server_getanswer(cout) bdir = '/' # Fake directory for the rest of the cleanup do_server_rdiff_cleanup(cfg) + cleaned_up = 1 errs = 0 else: cin.write('SETUP\n') @@ -824,8 +826,12 @@ info('Server backup for client %s: OK (%d WARNINGS)' % (id, errs)) except Exception, e: - error(e) - error('Server backup for client %s: FAILED' % id) + if cleanup and not cleaned_up: + info('Client-side cleanup for client %s: FAILED' % id) + do_server_rdiff_cleanup(cfg) + else: + error(e) + error('Server backup for client %s: FAILED' % id) info('------------------------------------------------------------------') debug('Server backup done') This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-03-18 15:51:51
|
Revision: 593 http://safekeep.svn.sourceforge.net/safekeep/?rev=593&view=rev Author: dimi Date: 2008-03-18 08:51:44 -0700 (Tue, 18 Mar 2008) Log Message: ----------- Frank Crawford <fr...@cr...> * Patch client name output for --list --parsable-output option. Modified Paths: -------------- safekeep/trunk/safekeep Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-03-18 15:47:01 UTC (rev 592) +++ safekeep/trunk/safekeep 2008-03-18 15:51:44 UTC (rev 593) @@ -835,8 +835,12 @@ for cfg in cfgs.itervalues(): id = cfg['id'] if ids and id not in ids: continue - info('------------------------------------------------------------------') - info('Server listing for client %s' % id) + if list_parsable: + info('Client: %s' % id) + else: + info('------------------------------------------------------------------') + info('Server listing for client %s' % id) + args = ['rdiff-backup'] @@ -859,7 +863,8 @@ if ret: raise Exception('Failed to run rdiff-backup') - info('------------------------------------------------------------------') + if not list_parsable: + info('------------------------------------------------------------------') debug('Server listing done') def do_keys(cfgs, ids, identity, status, dump, deploy): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-03-18 15:47:06
|
Revision: 592 http://safekeep.svn.sourceforge.net/safekeep/?rev=592&view=rev Author: dimi Date: 2008-03-18 08:47:01 -0700 (Tue, 18 Mar 2008) Log Message: ----------- Frank Crawford <fr...@cr...> * Added a cleanup option to client and server modes to remove safekeep LVM snapshots and mounts after a crash or problem. * Added new communications tag "SCRUB" to do a full remote cleanup. * Added a warning if there is a mismatch in the communications protocol minor level. * Append specific paths (/sbin, /usr/sbin and /usr/local/sbin) to the client path when run in cleanup mode, to cover any path issues. * Fixed a couple of issues with pass client exceptions back to the server, and strip off excess newlines. * Add test and abort run on client if there are any existing safekeep LVM snapshots. Modified Paths: -------------- safekeep/trunk/doc/safekeep.txt safekeep/trunk/safekeep Modified: safekeep/trunk/doc/safekeep.txt =================================================================== --- safekeep/trunk/doc/safekeep.txt 2008-03-01 22:34:36 UTC (rev 591) +++ safekeep/trunk/doc/safekeep.txt 2008-03-18 15:47:01 UTC (rev 592) @@ -7,13 +7,13 @@ SYNOPSIS -------- -'safekeep' --server [-q] [-v] [--noemail] [--force] [-c file] <clientid>* +'safekeep' --server [-q] [-v] [--noemail] [--force] [-c file] [--cleanup] <clientid>* 'safekeep' --keys [-q] [-v] [--noemail] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>* 'safekeep' --list [-q] [-v] [--noemail] [-c file] [--increments] [--parsable-output] [--sizes] [--changed=<time>] [--at-time=<time>] <clientid>* -'safekeep' --client +'safekeep' --client [--cleanup] 'safekeep' -h | -V @@ -40,6 +40,11 @@ Note that the client mode of SafeKeep should never be invoked manually, this mode is meant to be used only by the server mode of SafeKeep. +The only exception to this is if run with the `--cleanup` option, which +is used to remove LVM snapshots and mounts created by Safekeep, after a +crash or some other failure, without a connection to the server. +Normally this cleanup would be performed through the server command +`safekeep --server --cleanup`. The SSH key management mode is a helper mode for deploying or verifying the setup of the SSH authentification keys. @@ -111,6 +116,25 @@ backup directory becomes corrupt, and `rdiff-backup` error logs tells you to use this option. +--cleanup:: + Remove LVM snapshots and mounts left by Safekeep after a + crash or other failure. This will run also run the standard + cleanup processes, such as the removal of an DB dumps, and + forces a consistency check of the `rdiff-backup` destination + directory. This is the prefered cleanup procedure and can + be run with no danger of corrupting the system if there is + nothing to cleanup. + +CLIENT OPTIONS +-------------- +--cleanup:: + Remove LVM snapshots and mounts left after a crash or other + failure from the local system. Unlike the equivalent `--server` + option, it does not do any other of the standard cleanups. + This option should only be used when it is not possible to + refer to the server, for example, when the network connection + to the server is no longer available. + KEYS OPTIONS ------------ -i FILE:: Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-03-01 22:34:36 UTC (rev 591) +++ safekeep/trunk/safekeep 2008-03-18 15:47:01 UTC (rev 592) @@ -16,7 +16,7 @@ # along with Safekeep. If not, see <http://www.gnu.org/licenses/>. from __future__ import generators -import getopt, os, os.path, popen2, re, sys +import getopt, os, os.path, popen2, re, sys, fnmatch import commands, tempfile, time, traceback import getpass, pwd, xml.dom.minidom import socket, smtplib @@ -53,7 +53,7 @@ home_dir = None base_dir = None -PROTOCOL = "1.0" +PROTOCOL = "1.1" VERSION = "1.0.4" VEBOSITY_BY_CLASS = {'DBG': 3, 'INFO': 2, 'WARN': 1, 'ERR': 0} @@ -394,19 +394,48 @@ warn('Unable to remove dump file: %s for database %s because: %s' % (dump['file'], dump['db'], e)) -def gather_lvm_information(device): - device = device.replace('/mapper','').replace('-','/') - (group, volume) = device.split('/')[-2:] +def lvm_snap_information(): + (cin, cout) = os.popen4(['lvs', '--separator', ':', '--noheadings']) + lines = cout.readlines() + cout.close() + cin.close() + lvms = [] + for line in lines: + if line.count(':') > 3: + (volume, group, attr, blah1) = line.lstrip().split(':', 3) + if fnmatch.fnmatch(volume, '*_snap_safekeep-*') and attr[0].lower() == 's': + lvms.append([volume, group]) + return lvms + +def mount_information(reverse = False): (cin, cout) = os.popen4('mount') lines = cout.readlines() cout.close() cin.close() + mounts = [] + if reverse: + lines.reverse() for line in lines: - (device, blah1, mountpoint, blah2, mounttype, blah3) = line.split(' ', 5) - if line.startswith('/dev/mapper/' + group + '-' + volume + ' '): + (device, blah1, mountpoint, blah2, mounttype, mountoptions) = line.split() + mounts.append([device, mountpoint, mounttype, mountoptions[1:-1]]) + return mounts + +def map_lvm_device(device): + device = device.replace('/mapper','').replace('-','/') + return device.split('/')[-2:] + +def check_lvm_information(device): + (group, volume) = map_lvm_device(device) + for (lvm_volume, lvm_group) in lvm_snap_information(): + if lvm_group == group and lvm_volume.startswith(volume): + return True + return False + +def gather_lvm_information(device): + (group, volume) = map_lvm_device(device) + for (device, mountpoint, mounttype, mountoptions) in mount_information(False): + if [group, volume] == map_lvm_device(device): return (group, volume, mountpoint, mounttype) - elif line.startswith('/dev/' + group + '/' + volume + ' '): - return (group, volume, mountpoint, mounttype) return (None, None, None, None) def gather_snap_information(device, bdir): @@ -486,6 +515,12 @@ do_client_dbdump(cfg) if len(cfg['snaps']) > 0: + debug('Checking FS snapshots') + for snap in cfg['snaps']: + device = snap['device'] + if check_lvm_information(device): + raise Exception("Previous snapshots found for %s: run 'safekeep --server --cleanup' to correct" % device) + ret = spawn(['modprobe', 'dm-snapshot']) if ret: warn('modprobe dm-snapshot failed, continuing') @@ -525,6 +560,76 @@ def do_client_compat(server_versions): debug('Server versions: %s' % server_versions) +def do_client_scrub(): + debug("Do client scrub loop") + + if os.getuid(): + if is_client: + raise Exception('client not running as root') + else: + error("--cleanup must be run as root") + sys.exit(2) + + scrubbed = False + if os.environ['PATH'][-1] == ':': + os.environ['PATH'] += '/sbin:/usr/sbin:/usr/local/sbin:' + else: + os.environ['PATH'] += ':/sbin:/usr/sbin:/usr/local/sbin' + + # Go through and unmount anythings that are still hanging around + + debug("Cleaning up existing mounts") + for (device, mountpoint, mounttype, mountoptions) in mount_information(True): + if mountpoint.startswith('/mnt/safekeep-'): + info("Removing mount %s" % mountpoint) + if device == '/' and 'bind' in mountoptions.split(','): + info("Removing rbind directory %s" % mountpoint) + ret = spawn(['umount', '-l', mountpoint]) + if ret: + warn('Failed to unmount: ' + mountpoint) + else: + try: + os.rmdir(mountpoint) + except Exception, e: + warn('Failed to remove: ' + mountpoint) + else: + ret = spawn(['umount', mountpoint]) + if ret: + warn('Can not unmount the snapshot: %s' % mountpoint) + if fnmatch.fnmatch(device, '*_snap_safekeep-*'): + info("Removing snapshot %s" % device) + ret = spawn(['lvremove', '--force', device]) + if ret: + warn('Can not tear down snapshot: ' + device) + scrubbed = True + + # Now cleanup any snapshots still hanging around + + debug("Cleaning up remaining snapshots") + for (volume, group) in lvm_snap_information(): + device = os.path.join('/dev', group, volume) + info("Removing snapshot %s" % device) + ret = spawn(['lvremove', '--force', device]) + if ret: + warn('Can not tear down snapshot: ' + device) + scrubbed = True + + # Now cleanup any safekeep directories still hanging around + + debug("Cleaning up remaining safekeep directories") + if os.path.isdir('/mnt'): + for ent in os.listdir('/mnt'): + mountpoint = os.path.join('/mnt', ent) + if ent.startswith('safekeep-') and os.path.isdir(mountpoint): + info("Removing rbind directory %s" % mountpoint) + try: + os.rmdir(mountpoint) + except Exception, e: + warn('Failed to remove: ' + mountpoint) + + if not scrubbed: + info('No cleanup required') + def do_client(): debug("Do client main loop") should_cleanup = True @@ -547,6 +652,9 @@ if dir == bdir: should_cleanup = False do_client_cleanup(cfg, dir) send('OK') + elif line.startswith('SCRUB'): + do_client_scrub() + send('OK') elif not line: break else: @@ -554,7 +662,7 @@ break except Exception, e: traceback.print_exc(file=sys.stdout) - send('ERROR ' + e) + send('ERROR %s' % e) finally: if should_cleanup: do_client_cleanup(cfg, bdir) @@ -570,7 +678,7 @@ if line.startswith('OK'): return line[2:-1].strip() elif line.startswith('ERROR'): - raise Exception(line[5:]) + raise Exception(line[5:].strip()) elif not line: raise Exception('client died unexpectedly') else: @@ -604,6 +712,12 @@ if ret: raise Exception('Failed to run rdiff-backup') +def do_server_rdiff_cleanup(cfg): + args = ['rdiff-backup', '--check-destination-dir', cfg['dir']] + ret = spawn(args) + if ret: + warn('Failed to cleanup old data, please fix the problem manually') + def do_server_data_cleanup(cfg): args = ['rdiff-backup', '--force', '--remove-older-than', cfg['retention'], cfg['dir']] ret = spawn(args) @@ -616,8 +730,10 @@ (server_major, server_minor) = PROTOCOL.split('.') if server_major != client_major: raise Exception('Incompatible protocols: %s <> %s' % (PROTOCOL, client_protocol)) + elif server_minor > client_minor: + warn('Protocol mismatch: %s <> %s' % (PROTOCOL, client_protocol)) -def do_server(cfgs, ids, force): +def do_server(cfgs, ids, force, cleanup): debug("Do server main loop") for cfg in cfgs.itervalues(): id = cfg['id'] @@ -640,7 +756,7 @@ raise Exception('Can not create data store dir: %s' % datadir) rdiff_logdir = os.path.join(datadir, 'rdiff-backup-data') - if cfg['retention'] and os.path.isdir(rdiff_logdir): + if cfg['retention'] and os.path.isdir(rdiff_logdir) and not cleanup: do_server_data_cleanup(cfg) if cfg['host']: @@ -660,36 +776,44 @@ cin.flush() do_server_getanswer(cout) - cin.write('SETUP\n') - cin.flush() - bdir = do_server_getanswer(cout) - - if os.path.isdir(rdiff_logdir): - rdiff_logpre = os.listdir(rdiff_logdir) + if cleanup: + cin.write('SCRUB\n') + cin.flush() + do_server_getanswer(cout) + bdir = '/' # Fake directory for the rest of the cleanup + do_server_rdiff_cleanup(cfg) + errs = 0 else: - rdiff_logpre = [] + cin.write('SETUP\n') + cin.flush() + bdir = do_server_getanswer(cout) - backup_log = os.path.join(rdiff_logdir, 'backup.log') - if os.path.isfile(backup_log): - backup_marker = '=== Backup session on %s ===' % time.asctime() - fbm = open(backup_log, 'a') - fbm.write(backup_marker + '\n') - fbm.close() - else: - backup_marker = None + if os.path.isdir(rdiff_logdir): + rdiff_logpre = os.listdir(rdiff_logdir) + else: + rdiff_logpre = [] - do_server_rdiff(cfg, bdir, force) + backup_log = os.path.join(rdiff_logdir, 'backup.log') + if os.path.isfile(backup_log): + backup_marker = '=== Backup session on %s ===' % time.asctime() + fbm = open(backup_log, 'a') + fbm.write(backup_marker + '\n') + fbm.close() + else: + backup_marker = None - errs = 0 - if os.path.isdir(rdiff_logdir): - info_file(backup_log, backup_marker) - rdiff_logpost = os.listdir(rdiff_logdir) - for lfn in rdiff_logpost: - if lfn.startswith('session_statistics.') and lfn.endswith('.data') and lfn not in rdiff_logpre: - errs += info_file(os.path.join(rdiff_logdir, lfn)) - else: - warn('Log dir does not exist.') + do_server_rdiff(cfg, bdir, force) + errs = 0 + if os.path.isdir(rdiff_logdir): + info_file(backup_log, backup_marker) + rdiff_logpost = os.listdir(rdiff_logdir) + for lfn in rdiff_logpost: + if lfn.startswith('session_statistics.') and lfn.endswith('.data') and lfn not in rdiff_logpre: + errs += info_file(os.path.join(rdiff_logdir, lfn)) + else: + warn('Log dir does not exist.') + cin.write('CLEANUP %s\n' % bdir) cin.flush() do_server_getanswer(cout) @@ -902,6 +1026,7 @@ print print 'server options:' print '--force force backup destination overwriting, dangerous!' + print '--cleanup perform cleanup actions after a failure' print print 'keys options:' print '-i FILE use FILE as identity for RSA/DSA authentication' @@ -924,7 +1049,7 @@ 'email=', 'force', 'help', 'keys', 'list', 'increments', 'sizes', 'parsable-output', 'changed=', 'at-time=', - 'noemail', + 'noemail', 'cleanup', 'print', 'quiet', 'server', 'smtp=', 'status', 'verbose', 'version']) except getopt.GetoptError: @@ -939,6 +1064,7 @@ verbosity = 0 clientid = None force = 0 + cleanup = 0 noemail = 0 list_type = None list_parsable = 0 @@ -981,6 +1107,8 @@ mode = 'keys' elif o in ('--force', ): force = 1 + elif o in ('--cleanup', ): + cleanup = 1 elif o in ('--noemail', ): noemail = 1 elif o in ('--increments', ): @@ -1027,6 +1155,9 @@ if mode is not 'server' and (email or smtp): usage(2) + if not mode in ['server', 'client'] and cleanup: + usage(2) + if mode is 'client' and cfglocs: usage(2) @@ -1088,7 +1219,7 @@ if mode is 'server': is_client = False verbosity_level = 1 + verbosity - do_server(cfgs, args, force) + do_server(cfgs, args, force, cleanup) elif mode is 'list': if list_type is None: list_type = 'increments' @@ -1096,9 +1227,14 @@ verbosity_level = 2 + verbosity do_list(cfgs, args, list_type, list_date, list_parsable) elif mode is 'client': - is_client = True - verbosity_level = 3 + verbosity - do_client() + if cleanup: + is_client = False + verbosity_level = 1 + verbosity + do_client_scrub() + else: + is_client = True + verbosity_level = 3 + verbosity + do_client() elif mode is 'keys': is_client = False verbosity_level = 1 + verbosity This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-03-01 22:34:42
|
Revision: 591 http://safekeep.svn.sourceforge.net/safekeep/?rev=591&view=rev Author: dimi Date: 2008-03-01 14:34:36 -0800 (Sat, 01 Mar 2008) Log Message: ----------- We don't need to rebuild docs at install time, we do that at release time now. Modified Paths: -------------- safekeep/trunk/Makefile Modified: safekeep/trunk/Makefile =================================================================== --- safekeep/trunk/Makefile 2008-02-26 21:33:07 UTC (rev 590) +++ safekeep/trunk/Makefile 2008-03-01 22:34:36 UTC (rev 591) @@ -92,7 +92,7 @@ changelog: svn log -v --xml | svn2log.py -D 0 -u doc/users -install: $(DOC_MAN) +install: install -m 755 safekeep "/usr/bin/" install -d -m 755 "/etc/safekeep/backup.d/" install -m 755 safekeep.conf "/etc/safekeep/" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:33:09
|
Revision: 590 http://safekeep.svn.sourceforge.net/safekeep/?rev=590&view=rev Author: dimi Date: 2008-02-26 13:33:07 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Update news Modified Paths: -------------- website/trunk/WebContent/news.shtml Modified: website/trunk/WebContent/news.shtml =================================================================== --- website/trunk/WebContent/news.shtml 2008-02-26 21:25:44 UTC (rev 589) +++ website/trunk/WebContent/news.shtml 2008-02-26 21:33:07 UTC (rev 590) @@ -5,6 +5,49 @@ <div class="NewsBox"> +<p class="NewsTitle">Feb 26, 2008: SafeKeep version 1.0.4 (stable) released +<img src="images/grey_pixel.gif" width="100%" height="1" alt=""> +</p> +<blockquote> +<p> +SafeKeep 1.0.4 was released today. What's new in this release: +</p> +<ul> + <li>Add options to allow the query of the backup repository</li> + <li>Important fixes when dealing with snapshots</li> + <li>Make it more compatible with Python 2.2 (more work remains)</li> + <li>Avoid build-time dependency on asciidoc which depends on Python 2.3</li> + <li>Add some clarifications to the documentation</li> + <li>Add support for FreeBSD</li> +</ul> +<p> +Binary packages for RedHat-based (e.g. RedHat EL, CentOS, Fedora) +and Debian-based (e.g. Debian, Ubuntu) distributions are available +for immediate <a href="download.shtml">download ...</a> +</p> +</blockquote> + +<p class="NewsTitle">Oct 19, 2007: SafeKeep version 1.0.3 (stable) released +<img src="images/grey_pixel.gif" width="100%" height="1" alt=""> +</p> +<blockquote> +<p> +SafeKeep 1.0.3 was released today. What's new in this release: +</p> +<ul> + <li>Clarify licensing in lite of the new GPLv3 license;</li> + <li>New <tt>--force</tt> option to handle unexpected problems with the data repository;</li> + <li>Better logging and status handling when we invoke external commands;</li> + <li>Clearer backup status on job end;</li> + <li>A small packaging bug got fixes.</li> +</ul> +<p> +Binary packages for RedHat-based (e.g. RedHat EL, CentOS, Fedora) +and Debian-based (e.g. Debian, Ubuntu) distributions are available +for immediate <a href="download.shtml">download ...</a> +</p> +</blockquote> + <p class="NewsTitle">June 17, 2007: SafeKeep version 1.0.1 (stable) released <img src="images/grey_pixel.gif" width="100%" height="1" alt=""> </p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:25:46
|
Revision: 589 http://safekeep.svn.sourceforge.net/safekeep/?rev=589&view=rev Author: dimi Date: 2008-02-26 13:25:44 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Remove leftover Modified Paths: -------------- website/trunk/WebContent/download.shtml Modified: website/trunk/WebContent/download.shtml =================================================================== --- website/trunk/WebContent/download.shtml 2008-02-26 21:24:24 UTC (rev 588) +++ website/trunk/WebContent/download.shtml 2008-02-26 21:25:44 UTC (rev 589) @@ -26,7 +26,6 @@ <li>Add some clarifications to the documentation</li> <li>Add support for FreeBSD</li> </ul> -</ul> <table> <tr> <th colspan="2">Distribution</th><th>Source</th><th>Binary</th> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:24:29
|
Revision: 588 http://safekeep.svn.sourceforge.net/safekeep/?rev=588&view=rev Author: dimi Date: 2008-02-26 13:24:24 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Fix typo Modified Paths: -------------- website/trunk/Makefile Modified: website/trunk/Makefile =================================================================== --- website/trunk/Makefile 2008-02-26 21:24:06 UTC (rev 587) +++ website/trunk/Makefile 2008-02-26 21:24:24 UTC (rev 588) @@ -24,7 +24,7 @@ help: @echo "Targets:" @echo " help Displays this message" - @echo " deploy Deploys teh website to SourceForge" + @echo " deploy Deploys the website to SourceForge" @echo " test Test the validity of the HTML and the CSS" @echo " clean Cleans up the source tree" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:24:09
|
Revision: 587 http://safekeep.svn.sourceforge.net/safekeep/?rev=587&view=rev Author: dimi Date: 2008-02-26 13:24:06 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Fix spacing Modified Paths: -------------- website/trunk/Makefile Modified: website/trunk/Makefile =================================================================== --- website/trunk/Makefile 2008-02-26 21:23:16 UTC (rev 586) +++ website/trunk/Makefile 2008-02-26 21:24:06 UTC (rev 587) @@ -25,7 +25,7 @@ @echo "Targets:" @echo " help Displays this message" @echo " deploy Deploys teh website to SourceForge" - @echo " test Test the validity of the HTML and the CSS" + @echo " test Test the validity of the HTML and the CSS" @echo " clean Cleans up the source tree" deploy: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:23:25
|
Revision: 586 http://safekeep.svn.sourceforge.net/safekeep/?rev=586&view=rev Author: dimi Date: 2008-02-26 13:23:16 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Announce 1.0.4 Modified Paths: -------------- website/trunk/WebContent/download.shtml website/trunk/WebContent/index.shtml website/trunk/WebContent/releases.shtml Modified: website/trunk/WebContent/download.shtml =================================================================== --- website/trunk/WebContent/download.shtml 2008-02-26 21:08:40 UTC (rev 585) +++ website/trunk/WebContent/download.shtml 2008-02-26 21:23:16 UTC (rev 586) @@ -13,18 +13,20 @@ <a name="releases"></a> <h2>Releases</h2> -<a name="1.0.3"></a> +<a name="1.0.4"></a> <p> -<a href="http://sourceforge.net/project/showfiles.php?group_id=185128&package_id=215518&release_id=548214">SafeKeep 1.0.3</a> -was released Oct 19, 2007, containing the following main features: +<a href="http://sourceforge.net/project/showfiles.php?group_id=185128&package_id=215518&release_id=579794">SafeKeep 1.0.4</a> +was released Feb 26, 2008, containing the following main features: </p> <ul> - <li>Clarify licensing in lite of the new GPLv3 license;</li> - <li>New <tt>--force</tt> option to handle unexpected problems with the data repository;</li> - <li>Better logging and status handling when we invoke external commands;</li> - <li>Clearer backup status on job end;</li> - <li>A small packaging bug got fixes.</li> + <li>Add options to allow the query of the backup repository</li> + <li>Important fixes when dealing with snapshots</li> + <li>Make it more compatible with Python 2.2 (more work remains)</li> + <li>Avoid build-time dependency on asciidoc which depends on Python 2.3</li> + <li>Add some clarifications to the documentation</li> + <li>Add support for FreeBSD</li> </ul> +</ul> <table> <tr> <th colspan="2">Distribution</th><th>Source</th><th>Binary</th> @@ -37,12 +39,12 @@ <b>Red Hat / Fedora</b> binary and source .rpms for RedHat EL 3, 4, 5; Fedora Core 4, 5, 6, 7; CentOS 3, 4, 5, and compatible distributions. </td> <td> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.3-1.fc7.src.rpm">safekeep-1.0.3-1.fc7.src.rpm</a> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.4-1.fc8.src.rpm">safekeep-1.0.4-1.fc8.src.rpm</a> </td> <td> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.0.3-1.fc7.noarch.rpm">safekeep-common-1.0.3-1.fc7.noarch.rpm</a> <br> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.0.3-1.fc7.noarch.rpm">safekeep-client-1.0.3-1.fc7.noarch.rpm</a> <br> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.0.3-1.fc7.noarch.rpm">safekeep-server-1.0.3-1.fc7.noarch.rpm</a> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.0.4-1.fc8.noarch.rpm">safekeep-common-1.0.4-1.fc8.noarch.rpm</a> <br> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.0.4-1.fc8.noarch.rpm">safekeep-client-1.0.4-1.fc8.noarch.rpm</a> <br> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.0.4-1.fc8.noarch.rpm">safekeep-server-1.0.4-1.fc8.noarch.rpm</a> </td> </tr> <tr> @@ -53,12 +55,12 @@ <b>Ubuntu</b> binary and source .debs for Ubuntu Edgy, Dapper, and Breezy </td> <td> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.3.tar.gz">safekeep-1.0.3.tar.gz</a> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.4.tar.gz">safekeep-1.0.4.tar.gz</a> </td> <td> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.0.3_all.deb">safekeep-common_1.0.3_all.deb</a> <br> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.0.3_all.deb">safekeep-client_1.0.3_all.deb</a> <br> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.0.3_all.deb">safekeep-server_1.0.3_all.deb</a> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.0.4_all.deb">safekeep-common_1.0.4_all.deb</a> <br> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.0.4_all.deb">safekeep-client_1.0.4_all.deb</a> <br> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.0.4_all.deb">safekeep-server_1.0.4_all.deb</a> </td> </tr> <tr> @@ -69,7 +71,7 @@ <b>Linux</b> source tarball for most distributions running Python 2.4 or newer </td> <td> - <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.3.tar.gz">safekeep-1.0.3.tar.gz</a> + <a href="http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.4.tar.gz">safekeep-1.0.4.tar.gz</a> </td> <td> N/A Modified: website/trunk/WebContent/index.shtml =================================================================== --- website/trunk/WebContent/index.shtml 2008-02-26 21:08:40 UTC (rev 585) +++ website/trunk/WebContent/index.shtml 2008-02-26 21:23:16 UTC (rev 586) @@ -39,19 +39,20 @@ <div class="NewsBox"> -<p class="NewsTitle">Oct 19, 2007: SafeKeep version 1.0.3 (stable) released +<p class="NewsTitle">Feb 26, 2008: SafeKeep version 1.0.4 (stable) released <img src="images/grey_pixel.gif" width="100%" height="1" alt=""> </p> <blockquote> <p> -SafeKeep 1.0.3 was released today. What's new in this release: +SafeKeep 1.0.4 was released today. What's new in this release: </p> <ul> - <li>Clarify licensing in lite of the new GPLv3 license;</li> - <li>New <tt>--force</tt> option to handle unexpected problems with the data repository;</li> - <li>Better logging and status handling when we invoke external commands;</li> - <li>Clearer backup status on job end;</li> - <li>A small packaging bug got fixes.</li> + <li>Add options to allow the query of the backup repository</li> + <li>Important fixes when dealing with snapshots</li> + <li>Make it more compatible with Python 2.2 (more work remains)</li> + <li>Avoid build-time dependency on asciidoc which depends on Python 2.3</li> + <li>Add some clarifications to the documentation</li> + <li>Add support for FreeBSD</li> </ul> <p> Binary packages for RedHat-based (e.g. RedHat EL, CentOS, Fedora) Modified: website/trunk/WebContent/releases.shtml =================================================================== --- website/trunk/WebContent/releases.shtml 2008-02-26 21:08:40 UTC (rev 585) +++ website/trunk/WebContent/releases.shtml 2008-02-26 21:23:16 UTC (rev 586) @@ -4,6 +4,7 @@ <h1>Releases</h1> <div id="PageMenu"> <span class="PageMenuTitle">On This Page:</span> + <a href="#1.0.4">1.0.4</a> <a href="#1.0.3">1.0.3</a> <a href="#1.0.1">1.0.1</a> <a href="#1.0.0">1.0.0</a> @@ -13,6 +14,20 @@ <a href="#0.9.0">0.9.0</a> </div> +<a name="1.0.4"></a> +<p> +<a href="http://sourceforge.net/project/showfiles.php?group_id=185128&package_id=215518&release_id=579794">SafeKeep 1.0.4</a> +was released Feb 26, 2008, containing the following main features: +</p> +<ul> + <li>Add options to allow the query of the backup repository</li> + <li>Important fixes when dealing with snapshots</li> + <li>Make it more compatible with Python 2.2 (more work remains)</li> + <li>Avoid build-time dependency on asciidoc which depends on Python 2.3</li> + <li>Add some clarifications to the documentation</li> + <li>Add support for FreeBSD</li> +</ul> + <a name="1.0.3"></a> <p> <a href="http://sourceforge.net/project/showfiles.php?group_id=185128&package_id=215518&release_id=548214">SafeKeep 1.0.3</a> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 21:08:47
|
Revision: 585 http://safekeep.svn.sourceforge.net/safekeep/?rev=585&view=rev Author: dimi Date: 2008-02-26 13:08:40 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Update man pages on website to latest as of Tue Feb 26 16:08:36 EST 2008 Modified Paths: -------------- website/trunk/WebContent/safekeep.backup.html website/trunk/WebContent/safekeep.conf.html website/trunk/WebContent/safekeep.html Modified: website/trunk/WebContent/safekeep.backup.html =================================================================== --- website/trunk/WebContent/safekeep.backup.html 2008-02-26 21:07:30 UTC (rev 584) +++ website/trunk/WebContent/safekeep.backup.html 2008-02-26 21:08:40 UTC (rev 585) @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> -<meta name="generator" content="AsciiDoc 8.1.0" /> +<meta name="generator" content="AsciiDoc 8.2.2" /> <style type="text/css"> /* Debug borders */ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { @@ -225,6 +225,9 @@ margin-top: 0.8em; margin-bottom: 0.8em; } +div.hlist td { + padding-bottom: 5px; +} td.hlist1 { vertical-align: top; font-style: italic; @@ -247,13 +250,22 @@ margin-bottom: 0.1em; } -div.toclevel1, div.toclevel2 { +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; + font-size: 0.9em; } +div.toclevel3 { + margin-left: 4em; + font-size: 0.9em; +} +div.toclevel4 { + margin-left: 6em; + font-size: 0.9em; +} include1::./stylesheets/xhtml11-manpage.css[] /* Workarounds for IE6's broken and incomplete CSS2. */ @@ -549,8 +561,13 @@ </dt> <dd> <p> - The path (device location) to the LVM volume to snapshot - before the backup commences. It is recommended + The path (device location) to the client LVM volume to snapshot + before the backup commences. Note that the snapshot happens + on the client machines, and it ensures that the data that is + being backed-up is in a consistent state throughout the backup + process. Multiple snapshots may be specified, in which case the + order is important, the associated filesystems are mounted + in the order given. Please note that using this feature requires that <tt>safekeep(1)</tt> runs as <tt>root</tt> on the client. Mandatory for a <tt><snapshot></tt> element. @@ -665,7 +682,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 17-Jun-2007 21:06:42 EDT +Last updated 26-Feb-2008 16:08:19 EDT </div> </div> </body> Modified: website/trunk/WebContent/safekeep.conf.html =================================================================== --- website/trunk/WebContent/safekeep.conf.html 2008-02-26 21:07:30 UTC (rev 584) +++ website/trunk/WebContent/safekeep.conf.html 2008-02-26 21:08:40 UTC (rev 585) @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> -<meta name="generator" content="AsciiDoc 8.1.0" /> +<meta name="generator" content="AsciiDoc 8.2.2" /> <style type="text/css"> /* Debug borders */ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { @@ -225,6 +225,9 @@ margin-top: 0.8em; margin-bottom: 0.8em; } +div.hlist td { + padding-bottom: 5px; +} td.hlist1 { vertical-align: top; font-style: italic; @@ -247,13 +250,22 @@ margin-bottom: 0.1em; } -div.toclevel1, div.toclevel2 { +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; + font-size: 0.9em; } +div.toclevel3 { + margin-left: 4em; + font-size: 0.9em; +} +div.toclevel4 { + margin-left: 6em; + font-size: 0.9em; +} include1::./stylesheets/xhtml11-manpage.css[] /* Workarounds for IE6's broken and incomplete CSS2. */ @@ -376,7 +388,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 17-Jun-2007 21:06:41 EDT +Last updated 26-Feb-2008 16:08:19 EDT </div> </div> </body> Modified: website/trunk/WebContent/safekeep.html =================================================================== --- website/trunk/WebContent/safekeep.html 2008-02-26 21:07:30 UTC (rev 584) +++ website/trunk/WebContent/safekeep.html 2008-02-26 21:08:40 UTC (rev 585) @@ -3,7 +3,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> -<meta name="generator" content="AsciiDoc 8.1.0" /> +<meta name="generator" content="AsciiDoc 8.2.2" /> <style type="text/css"> /* Debug borders */ p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { @@ -225,6 +225,9 @@ margin-top: 0.8em; margin-bottom: 0.8em; } +div.hlist td { + padding-bottom: 5px; +} td.hlist1 { vertical-align: top; font-style: italic; @@ -247,13 +250,22 @@ margin-bottom: 0.1em; } -div.toclevel1, div.toclevel2 { +div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { margin-top: 0; margin-bottom: 0; } div.toclevel2 { margin-left: 2em; + font-size: 0.9em; } +div.toclevel3 { + margin-left: 4em; + font-size: 0.9em; +} +div.toclevel4 { + margin-left: 6em; + font-size: 0.9em; +} include1::./stylesheets/xhtml11-manpage.css[] /* Workarounds for IE6's broken and incomplete CSS2. */ @@ -303,8 +315,9 @@ </div> <h2>SYNOPSIS</h2> <div class="sectionbody"> -<p><em>safekeep</em> [--server] [-q] [-v] [--force] [-c file] <clientid>*</p> -<p><em>safekeep</em> --keys [-q] [-v] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>*</p> +<p><em>safekeep</em> --server [-q] [-v] [--noemail] [--force] [-c file] <clientid>*</p> +<p><em>safekeep</em> --keys [-q] [-v] [--noemail] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>*</p> +<p><em>safekeep</em> --list [-q] [-v] [--noemail] [-c file] [--increments] [--parsable-output] [--sizes] [--changed=<time>] [--at-time=<time>] <clientid>*</p> <p><em>safekeep</em> --client</p> <p><em>safekeep</em> -h | -V</p> </div> @@ -312,7 +325,8 @@ <div class="sectionbody"> <p>SafeKeep is a client/server backup script which enhances the power of rdiff-backup with simple configuration and use.</p> -<p>SafeKeep can work in server mode, client mode or SSH key management mode.</p> +<p>SafeKeep can work in server mode, client mode, SSH key management mode +or list mode.</p> <p>In server mode, SafeKeep parses a set of configurations files which defines a set of backup clients. For each backup client, SafeKeep connects to the client host over SSH (using a public key authentification @@ -328,7 +342,9 @@ this mode is meant to be used only by the server mode of SafeKeep.</p> <p>The SSH key management mode is a helper mode for deploying or verifying the setup of the SSH authentification keys.</p> -<p>In both server and keys management mode, you can restrict the operation +<p>In list mode, SafeKeep lists the details of existing archives. This is +basically an interface to the relevant options for <tt>rdiff-backup</tt>.</p> +<p>In server, keys management and list mode, you can restrict the operation to a specific set of clients by listing the desired client IDs as arguments. If no client ID is given, SafeKeep will operate over all known clients.</p> @@ -342,7 +358,7 @@ </dt> <dd> <p> - Selects the server mode (default) + Selects the server mode </p> </dd> <dt> @@ -363,7 +379,18 @@ Selects the SSH key management mode </p> </dd> +<dt> +--list +</dt> +<dd> +<p> + Selects the list mode +</p> +</dd> </dl> +<p>Please note that you must always specify an operation mode. Earlier +versions used do default to <tt>--server</tt> mode, but that proved to work +out poorly in practice.</p> </div> <h2>GENERAL OPTIONS</h2> <div class="sectionbody"> @@ -415,6 +442,15 @@ once. </p> </dd> +<dt> +--noemail +</dt> +<dd> +<p> + Disables the sending of email, no matter what the settings + within the configuration file. +</p> +</dd> </dl> </div> <h2>SERVER OPTIONS</h2> @@ -477,6 +513,65 @@ </dd> </dl> </div> +<h2>LIST OPTIONS</h2> +<div class="sectionbody"> +<dl> +<dt> +--increments +</dt> +<dd> +<p> + Pass the <tt>--list-increments</tt> option to <tt>rdiff-backup</tt>, to + list the number and date of partial incremental backups for + the given or all clients. This is the default list option. +</p> +</dd> +<dt> +--parseable-output +</dt> +<dd> +<p> + Pass the <tt>--parsable-output</tt> option to <tt>rdiff-backup</tt> to + generate output in a format that is easily parsed by other + programs. This currently only works with the <tt>--increments</tt>. +</p> +</dd> +<dt> +--sizes +</dt> +<dd> +<p> + Pass the <tt>--list-increment-sizes</tt> option to <tt>rdiff-backup</tt>, + to list the total size of all increment and mirror files by + time for the given or all clients. Note, this may take some time. +</p> +</dd> +<dt> +--changed=TIME +</dt> +<dd> +<p> + Pass the <tt>--list-changed-since</tt> option for TIME to <tt>rdiff-backup</tt>, + to list the files changed since TIME for the given clients. + TIME is passed directly to <tt>rdiff-backup</tt>. Note, this may take + some time and generate considerable output. Also, unlike + <tt>rdiff-backup</tt> the is no option to select sub-directories. +</p> +</dd> +<dt> +--at-time=TIME +</dt> +<dd> +<p> + Pass the <tt>--list-at-time</tt> option for TIME to <tt>rdiff-backup</tt>, + to list the files in the archive that were present at the + given time for the given clients. Note, this may take some + time and generate considerable output. Also, unlike + <tt>rdiff-backup</tt> the is no option to select sub-directories. +</p> +</dd> +</dl> +</div> <h2>CONFIGURATION</h2> <div class="sectionbody"> <p>Normally the configuration files are placed in the <tt>/etc/safekeep/backup.d/</tt> @@ -616,7 +711,7 @@ </div> <div id="footer"> <div id="footer-text"> -Last updated 19-Oct-2007 12:33:39 EDT +Last updated 26-Feb-2008 16:08:18 EDT </div> </div> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 20:48:54
|
Revision: 583 http://safekeep.svn.sourceforge.net/safekeep/?rev=583&view=rev Author: dimi Date: 2008-02-26 12:48:49 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Tag safekeep 1.0.4 Added Paths: ----------- safekeep/tags/Release-safekeep-1_0_4/ safekeep/tags/Release-safekeep-1_0_4/ChangeLog safekeep/tags/Release-safekeep-1_0_4/safekeep Removed Paths: ------------- safekeep/tags/Release-safekeep-1_0_4/ChangeLog safekeep/tags/Release-safekeep-1_0_4/safekeep Copied: safekeep/tags/Release-safekeep-1_0_4 (from rev 580, safekeep/trunk) Deleted: safekeep/tags/Release-safekeep-1_0_4/ChangeLog =================================================================== --- safekeep/trunk/ChangeLog 2008-02-26 20:46:50 UTC (rev 580) +++ safekeep/tags/Release-safekeep-1_0_4/ChangeLog 2008-02-26 20:48:49 UTC (rev 583) @@ -1,2457 +0,0 @@ -2007-10-19 16:47 +0000 [r553] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/ANNOUNCE: Prepare for - release 1.0.3. - -2007-10-19 16:38 +0000 [r552] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Add target to deploy latest docs to - website - -2007-10-12 21:17 +0000 [r550] Stelian Pop <st...@la...> - - * safekeep/trunk/LICENSE, safekeep/trunk/safekeep: Fix the - copyright notices. - -2007-10-09 11:44 +0000 [r549] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Give a clear backup status on job end - -2007-10-09 11:44 +0000 [r548] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Better error handling and logging in - spawn() - -2007-10-09 11:43 +0000 [r547] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: - Implement --force to handle the unexpected. - -2007-09-08 06:06 +0000 [r546] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Remove macro from comments, it - gets expanded in there otherwise. - -2007-09-07 16:45 +0000 [r544] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-09-07 16:40 +0000 [r543] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/safekeep, - safekeep/trunk/ANNOUNCE: Prepare for 1.0.2. - -2007-09-07 03:15 +0000 [r542] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Remove references to - %{PACKAGE_VERSION}, follow the Fedora guidelines closer. - -2007-09-07 03:12 +0000 [r541] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Provide default attr for all - packages. - -2007-09-07 03:11 +0000 [r540] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Clarify the licensing in .rpm - package - -2007-09-07 03:09 +0000 [r539] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: We don't need to include AUTHORS - COPYING LICENSE multiple times, keeping them in -common is - enough. - -2007-09-07 03:08 +0000 [r538] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: More acceptable SF link - -2007-06-17 23:26 +0000 [r533] Dimi Paun <di...@la...> - - * safekeep/trunk/ANNOUNCE: We now support Fedora 7 too. - -2007-06-17 22:47 +0000 [r532] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Tiny fix for Fedora 7 - -2007-06-17 22:45 +0000 [r531] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Make the tag fully automatic - -2007-06-17 22:38 +0000 [r529] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-06-17 22:37 +0000 [r528] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Update version to 1.0.1 - -2007-06-17 22:36 +0000 [r527] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/ANNOUNCE: Prepare - announcement for version 1.0.1. - -2007-06-11 04:00 +0000 [r526] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add automatic release detection, - for proper Fedora 7 support. - -2007-06-11 00:41 +0000 [r525] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Remove support for Fedora Core 5, - add support for Fedora 7 and CentOS 5 - -2007-06-10 23:02 +0000 [r524] Dimi Paun <di...@la...> - - * safekeep/trunk, safekeep/trunk/safekeep-test: Adjust the test to - support also Fedora 7, which includes the distro id automatically - in the generated rpm names. - -2007-06-08 22:11 +0000 [r523] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Collect releases in the releases/ dir. - -2007-06-08 22:02 +0000 [r522] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Account for FC7 adding the distro id - (.f7) to the RPM name. - -2007-06-08 21:58 +0000 [r521] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Make sure we don't override - user's configuration - -2007-06-08 21:55 +0000 [r520] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/safekeep.spec.in: - Move the man pages for .backup and .conf to the server package. - -2007-06-08 21:49 +0000 [r519] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Bit nicer gecos field. - -2007-06-08 20:38 +0000 [r518] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.postinst, - safekeep/trunk/Makefile, safekeep/trunk/safekeep.spec.in: Remove - configuration migration code, it shouldn't be necessary anymore - now that we reached 1.0. Besides it triggers rpm-lint errors. - -2007-06-08 19:46 +0000 [r517] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.docs, - safekeep/trunk/safekeep.spec.in: Do not package safekeep-test, - it's useful only during development, and creates all sort of - rpm-lint errors. - -2007-05-29 04:30 +0000 [r516] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Do not complain if we can't figure out - the SVN root - -2007-05-29 04:24 +0000 [r515] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Do not complain if .rpmmacros doesn't - exist. - -2007-05-28 23:58 +0000 [r514] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: We no longer need chsh(1). - -2007-05-28 15:46 +0000 [r513] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.postinst, - safekeep/trunk/safekeep.spec.in: We no longer need to have a - working shell for the safekeep user. Better from a security - perspective. - -2007-05-28 15:39 +0000 [r512] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Explicitely specify the shell to be used - for running the command, in case the default shell is not usable. - Suggested by Jeff Spaleta in order to avoid having a valid shell - for the safekeep account. - -2007-05-27 14:53 +0000 [r511] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create the safekeep user - following the Fedora policy: - http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups - -2007-05-27 14:48 +0000 [r510] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Explicitely add the group, as - per the Fedora policy: - http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups The - rationale is: We want to invoke groupadd explicitly instead of - relying on useradd to create the group for us. This is because - useradd alone would fail if the group it tries to create already - existed. - -2007-05-27 14:45 +0000 [r509] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Use abstract paths - -2007-05-27 14:42 +0000 [r508] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.prerm, - safekeep/trunk/safekeep.spec.in: The Fedora policy states that we - shouldn't delete our user: - http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups Here - is the rationale: We never remove users or groups created by - packages. There's no sane way to check if files owned by those - users/groups are left behind (and even if there would, what would - we do to them?), and leaving those behind with ownerships - pointing to now nonexistent users/groups may result in security - issues when a semantically unrelated user/group is created later - and reuses the UID/GID. Also, in some setups deleting the - user/group might not be possible or/nor desirable (eg. when using - a shared remote user/group database). Cleanup of unused - users/groups is left to the system administrators to take care of - if they so desire. - -2007-05-16 14:09 +0000 [r499] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-05-16 14:09 +0000 [r498] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Now we're 1.0 - -2007-05-16 14:07 +0000 [r497] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Update .spec changelog - -2007-05-16 14:06 +0000 [r496] Dimi Paun <di...@la...> - - * safekeep/trunk/ANNOUNCE: Prepare the 1.0 release - -2007-05-16 13:55 +0000 [r495] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt: Add warning about sharing - repository paths, hopefully this will help people avoid some - nasty situations. - -2007-05-16 13:48 +0000 [r494] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt: Fix reference to .backup - files - -2007-04-27 05:05 +0000 [r490] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-04-27 05:05 +0000 [r489] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Release 0.9.3 is almost ready... - -2007-04-27 05:04 +0000 [r488] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Update the RPM changelog for - release 0.9.3. - -2007-04-27 05:01 +0000 [r487] Dimi Paun <di...@la...> - - * safekeep/trunk/ANNOUNCE: Prepare the ANNOUNCE file for the - release. - -2007-04-27 04:48 +0000 [r486] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt, - safekeep/trunk/doc/safekeep.txt: A few more doc tweaks - -2007-04-27 04:44 +0000 [r485] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt, - safekeep/trunk/doc/safekeep.txt: Eduard Malinschi - <ed...@la...> Clarify the docs for database dumps. - -2007-04-25 07:51 +0000 [r484] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: F i x d e b u g p r i n t o u t l i k e - t h i s . - -2007-04-24 13:27 +0000 [r483] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/control: Ubuntu's chsh is part of 'passwd' - package. - -2007-04-23 21:01 +0000 [r482] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Fix the 'one letter per line' email - problem. - -2007-04-21 15:19 +0000 [r481] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.postinst, - safekeep/trunk/safekeep.spec.in, safekeep/trunk/debian/control: - Switch the default shell for the 'safekeep' account to /bin/bash. - We need it to be able to execute commands as 'safekeep' via - su(1). Also, to help people upgrading, force the shell of already - existing 'safekeep' users to /bin/bash. We can remove this in the - future once we know all old users have upgraded to 0.9.3 or - later. - -2007-03-20 20:40 +0000 [r479] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Force data cleanup in case there have - been multiple backups since the last invocation - -2007-03-16 11:55 +0000 [r478] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/rules: Shell expansion doesn't seem to - happen here for whatever reason, do it manually. - -2007-03-13 18:52 +0000 [r469] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-03-13 18:51 +0000 [r468] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Bump the version to 0.9.2 - -2007-03-13 18:41 +0000 [r467] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Make paths absolute only if they exist - -2007-03-13 18:36 +0000 [r466] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/ANNOUNCE: Update - ANNOUNCE and release changelog - -2007-03-13 17:35 +0000 [r465] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Update RPM changelog - -2007-03-13 06:25 +0000 [r464] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Use the safekeep user for key - deployment for now, it is messy otherwise - -2007-03-13 05:52 +0000 [r463] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Make sure the paths to the SSH keys are - absolute - -2007-03-13 05:25 +0000 [r462] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Bind / in /mnt/ instead of /tmp/ to - avoid unpleasant situations with cleanup scripts. - -2007-03-13 05:22 +0000 [r461] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Run the --server and --key mode as - root to test the new user-changing functionality - -2007-03-13 05:20 +0000 [r460] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Fix typo - -2007-03-09 17:48 +0000 [r459] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Cleanup snapshots as well - -2007-03-09 17:40 +0000 [r458] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Fetch the RPMs from the build dirs. - -2007-03-09 16:02 +0000 [r457] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Streamline the make targets to be closer - to the standard ones. - -2007-03-09 15:28 +0000 [r456] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt, - safekeep/trunk/debian/safekeep-server.postinst, - safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/safekeep-test, safekeep/trunk/safekeep.spec.in, - safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt, - safekeep/trunk/debian/safekeep-server.dirs: Rename - /etc/safekeep/clients.d to /etc/safekeep/backup.d - -2007-03-09 02:35 +0000 [r455] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: More tracing - -2007-03-09 02:21 +0000 [r454] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/safekeep.spec.in: Fix - permissions - -2007-03-09 01:04 +0000 [r453] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Fix typo - -2007-03-09 01:03 +0000 [r452] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, - safekeep/trunk/debian/safekeep-server.dirs: Fix the packages to - include the clients.d dir as well - -2007-03-09 00:33 +0000 [r451] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Fix docs - -2007-03-08 22:44 +0000 [r450] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-03-08 22:43 +0000 [r449] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/debian/safekeep-server.docs, - safekeep/trunk/safekeep.spec.in, safekeep/trunk/safekeep.cron, - safekeep/trunk/sample.conf (removed), - safekeep/trunk/safekeep.conf (added): Install a default - safekeep.conf in /etc/safekeep - -2007-03-08 21:46 +0000 [r448] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Make use of the new config files to - avoid the deprecation warning in tests - -2007-03-08 20:56 +0000 [r447] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt: Update docs - -2007-03-08 20:53 +0000 [r446] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Look for the client .backup files in the - clients.d directory that is present in the same directory as the - safekeep.conf file. - -2007-03-08 20:35 +0000 [r445] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt, safekeep/trunk/safekeep, - safekeep/trunk/sample.conf: Add property that controls the data - repo base dir - -2007-03-08 20:27 +0000 [r444] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt, safekeep/trunk/safekeep, - safekeep/trunk/sample.conf: Instrument the --keys mode to work - with a different backup user. Rename the property to - 'backup.user' instead of just 'user'. - -2007-03-08 03:44 +0000 [r443] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt, safekeep/trunk/safekeep, - safekeep/trunk/sample.conf: Teach safekeep to switch to a given - user in server mode. Controlled via the 'user' property in - /etc/safekeep/safekeep.conf - -2007-03-07 22:40 +0000 [r442] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Allow - for the explicit spcification of an identity file during key - management - -2007-03-07 21:28 +0000 [r441] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: - Deprecate the ability to specify client config files on the - command line - -2007-03-07 19:13 +0000 [r440] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix the local test - -2007-03-07 19:13 +0000 [r439] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: We always need a props dict - -2007-03-07 19:07 +0000 [r438] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Look at the default configuration files - only if they exist - -2007-03-07 16:54 +0000 [r437] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Mention the new conf file - -2007-03-07 16:52 +0000 [r436] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: - Deprecate the email options - -2007-03-07 16:28 +0000 [r435] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt (added), - safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/debian/safekeep-server.docs, - safekeep/trunk/safekeep.spec.in, safekeep/trunk/sample.conf - (added): Add man page for safekeep.conf - -2007-03-07 15:23 +0000 [r434] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt, - safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/debian/safekeep-server.docs, - safekeep/trunk/safekeep.spec.in, safekeep/trunk/sample.backup - (added), safekeep/trunk/sample.conf (removed): Complete the - renaming of safekeep.conf.txt into safekeep.backup.txt - -2007-03-06 21:15 +0000 [r433] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.backup.txt (added), - safekeep/trunk/doc/safekeep.conf.txt (removed), - safekeep/trunk/doc/safekeep.txt: Rename the man page - safekeep.conf to safekeep.backup to match the new naming - convention. Adjust the docs to the new directory structure. - -2007-03-06 21:07 +0000 [r432] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Read the email properties from the - global config file - -2007-03-06 04:52 +0000 [r431] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Add simple Java-like properties parser - -2007-03-06 04:11 +0000 [r430] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Add (partial) support for a global - configuration file: /etc/safekeep/safekeep.conf Allow the - -c/--conf switch to take both global conf file and client conf - files as parameters. - -2007-03-04 20:15 +0000 [r429] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Add migration code to source install as - well - -2007-03-04 20:13 +0000 [r428] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/safekeep-server.postinst, - safekeep/trunk/debian/rules, safekeep/trunk/safekeep.spec.in, - safekeep/trunk/safekeep, - safekeep/trunk/debian/safekeep-server.dirs: Move the client - configuration files in /etc/safekeep/clients.d Change the - extension of client config files to .backup from .client. Provide - automatic migration code for DEB and RPM packages. - -2007-03-04 17:52 +0000 [r427] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Fix restore docs. - -2007-03-04 17:52 +0000 [r426] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-23 22:23 +0000 [r425] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Do not stop if a single client fails. - Separate the client outputs to ease log reading. - -2007-02-12 06:29 +0000 [r424] Dimi Paun <di...@la...> - - * safekeep/trunk/ANNOUNCE: Small wording fix - -2007-02-12 05:29 +0000 [r420] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-02-12 05:28 +0000 [r419] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Up the version to 0.9.1 - -2007-02-12 05:27 +0000 [r418] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-12 05:07 +0000 [r416] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO, safekeep/trunk/ANNOUNCE (added): dd an - ANNOUNCE file for release 0.9.1 - -2007-02-12 04:36 +0000 [r415] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Add a little intro about the project - -2007-02-12 04:30 +0000 [r414] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile, safekeep/trunk/README, - safekeep/trunk/TODO: Add a way to install SafeKeep from source. - -2007-02-12 00:40 +0000 [r413] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: "Jeff Spaleta" - <jsp...@gm...> Get RPM into shape for a fedora project - submission. - -2007-02-11 01:17 +0000 [r412] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO, safekeep/trunk/doc/safekeep.txt: More on - include/exclude directives - -2007-02-11 01:07 +0000 [r411] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Update requirements - -2007-02-11 01:03 +0000 [r410] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/TODO: Python 2.2 - is good enough - -2007-02-10 17:00 +0000 [r409] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-07 20:02 +0000 [r405] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-07 01:53 +0000 [r404] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-07 01:42 +0000 [r402] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO, safekeep/trunk/doc/safekeep.txt: Add some - documentation about data restoration - -2007-02-06 16:30 +0000 [r399] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: Document the auto dir - creation - -2007-02-05 22:33 +0000 [r398] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: Formatting fixes - -2007-02-05 22:18 +0000 [r397] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-05 22:15 +0000 [r396] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Try to automatically create the data - store dir if it doesn't exist. - -2007-02-05 21:01 +0000 [r395] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: When adding lines to authorized_keys, - always end the last line with a NL - -2007-02-05 18:28 +0000 [r394] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Avoid - scanning /etc/safekeep.d in non-client mode. - -2007-02-05 06:19 +0000 [r388] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: By default, we exclude - non-matching files, which is different from what rdiff-backup - does. So make it more explicit in the documentation. - -2007-02-05 06:13 +0000 [r387] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: Correct and clarify where - the data will go by default. - -2007-02-05 06:07 +0000 [r386] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update the TODO - -2007-02-04 05:18 +0000 [r369] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Eduard Malinschi - <ed...@la...> Fix typo. - -2007-02-02 01:16 +0000 [r364] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Fix copy and paste bug - -2007-02-02 01:05 +0000 [r362] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog one more time - -2007-02-02 00:57 +0000 [r361] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Whitespace fix - -2007-02-02 00:53 +0000 [r360] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Add documentation about keys - deployment - -2007-02-02 00:43 +0000 [r359] Dimi Paun <di...@la...> - - * safekeep/trunk/TODO: Update TODO - -2007-02-02 00:40 +0000 [r358] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog: Update ChangeLog - -2007-02-02 00:39 +0000 [r357] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Bump version to 0.9.0 - -2007-02-02 00:36 +0000 [r356] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Adjust test to match the new - structure used by the repos - -2007-02-02 00:06 +0000 [r355] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Fix safekeep.conf missing - extension - -2007-02-01 22:18 +0000 [r354] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: Finish documenting the - configuration format - -2007-02-01 15:32 +0000 [r353] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/safekeep.spec.in: - Install the daily cron task as 'safekeep', not 'safekeep.cron' to - follow the common practice. - -2007-02-01 04:13 +0000 [r352] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt: Start documenting the - configuration format - -2007-02-01 03:43 +0000 [r351] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules: Keep the file names consistent - between the .deb and .rpm packages. If we decide to rename them, - we'll do so across both formats. - -2007-02-01 03:40 +0000 [r350] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Repeat the generic description - of the package in all subpackages. - -2007-01-31 23:49 +0000 [r349] Stelian Pop <st...@la...> - - * safekeep/trunk/Makefile: Build DEBs in /tmp to avoid cluttering - the source dir. - -2007-01-31 23:28 +0000 [r348] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/docs (removed), - safekeep/trunk/debian/safekeep-common.dirs (added), - safekeep/trunk/debian/safekeep-server.postinst (added), - safekeep/trunk/debian/rules, - safekeep/trunk/debian/safekeep-server.prerm (added), - safekeep/trunk/debian/safekeep-server.docs (added), - safekeep/trunk/debian/control, - safekeep/trunk/debian/safekeep-common.docs (added), - safekeep/trunk/debian/dirs (removed), - safekeep/trunk/debian/safekeep-client.docs (added), - safekeep/trunk/debian/safekeep-server.dirs (added): Update the - DEB packaging: - split into -server, -client, -common subpackages - - create the 'safekeep' user for the server - install a daily - cron task - etc. - -2007-01-31 20:57 +0000 [r347] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep.spec.in: Typo. - -2007-01-31 20:06 +0000 [r346] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.conf.txt (added), - safekeep/trunk/Makefile, safekeep/trunk/safekeep.spec.in: Add - skeletal man page for the configuration file. - -2007-01-31 19:25 +0000 [r345] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/TODO (added): Add - a TODO file with ideas for the future - -2007-01-31 16:20 +0000 [r344] Dimi Paun <di...@la...> - - * safekeep/trunk/ChangeLog (added): Add a ChangeLog file - -2007-01-31 16:19 +0000 [r343] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile, safekeep/trunk/doc/users (added): Add - ChangeLog generation support - -2007-01-31 15:55 +0000 [r342] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.cron: Make the reports look a bit more - interesting. - -2007-01-31 15:21 +0000 [r341] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in, safekeep/trunk/safekeep.cron - (added): Install a daily cron task for safekeep - -2007-01-30 19:31 +0000 [r340] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Use the regular logging functions to - complain about ignored files - -2007-01-30 19:21 +0000 [r339] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Make use of the standard safekeep - user instead of inventing our own backup-op user. - -2007-01-30 17:15 +0000 [r338] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create the .ssh dir at install - time too - -2007-01-30 16:55 +0000 [r337] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix string interpolation - -2007-01-30 16:27 +0000 [r336] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix installation of packages on the - test boxes - -2007-01-30 15:33 +0000 [r335] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: The new packages superseed the - old ones - -2007-01-30 15:32 +0000 [r334] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Make sure the version we expect - ends up being installed - -2007-01-30 15:25 +0000 [r333] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Instrument the fulltest to deal - with the multiple packages - -2007-01-30 15:01 +0000 [r332] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Add the licensing files to all - packages - -2007-01-30 04:45 +0000 [r331] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create the homedir in the build - root - -2007-01-30 04:43 +0000 [r330] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create the home dir during build - -2007-01-29 21:46 +0000 [r329] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Split RPM into 3 packages: - -common, -client, -server Add a bunch more Requires, etc. Create - a 'safekeep' user for the server part. - -2007-01-29 19:13 +0000 [r328] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Fix the example with the latest - results - -2007-01-29 17:22 +0000 [r327] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Ignode /selinux/ too. - -2007-01-29 05:40 +0000 [r326] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: A more compact representation for the - excludes - -2007-01-29 05:22 +0000 [r325] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Exclude unneeded stuff from named's - chroot. No need to include /, it's implicit in rdiff-backup. - -2007-01-29 01:31 +0000 [r324] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: "Stelian Pop" <st...@la...> - Invoke remote command explicitly in case the wrong SSH key is - used with the client. - -2007-01-28 23:34 +0000 [r323] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Let the user know we're excluding some - files because of wrong suffix. - -2007-01-28 23:23 +0000 [r322] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: List the options in the same order as - the modes. - -2007-01-27 18:13 +0000 [r321] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Remove - the --client mode from the online help screen, this is an - internal-only mode, and it just makes the output more confusing - and difficult to read. - -2007-01-27 18:10 +0000 [r320] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: We need - to support the -c/--conf in --keys mode too - -2007-01-27 17:11 +0000 [r319] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Rename - the -m option to -s, now that it's available. - -2007-01-27 17:09 +0000 [r318] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Use - sendmail is no SMTP server is specified. - -2007-01-26 23:25 +0000 [r317] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Use the standard os.getenv() instead our - ad-hoc version - -2007-01-26 23:16 +0000 [r316] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Document some more realistic - configuration examples. - -2007-01-26 22:17 +0000 [r315] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Protect against duplicated client IDs - -2007-01-26 22:04 +0000 [r314] Dimi Paun <di...@la...> - - * safekeep/trunk/sample.conf: Cleanup a bit the sample file - -2007-01-26 22:02 +0000 [r313] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/docs, safekeep/trunk/sample.cfg (removed), - safekeep/trunk/safekeep-test, safekeep/trunk/safekeep.spec.in, - safekeep/trunk/safekeep, safekeep/trunk/sample.conf (added), - safekeep/trunk/doc/safekeep.txt: Rename the .cfg extension to - .conf, and the --cfg option to --conf - -2007-01-26 21:46 +0000 [r312] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test, safekeep/trunk/safekeep, - safekeep/trunk/doc/safekeep.txt: Rename the -C option to -c now - that it is available. - -2007-01-26 21:16 +0000 [r311] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Cleanup the docs a bit - -2007-01-26 21:13 +0000 [r310] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile, safekeep/trunk/doc/Makefile (removed): - Merge the doc Makefile into the main Makefile. It makes it easier - if everything is in one place. - http://members.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html - -2007-01-26 20:35 +0000 [r309] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Less confusing name - -2007-01-26 20:28 +0000 [r308] Dimi Paun <di...@la...> - - * safekeep/trunk/doc/safekeep.txt: Update documentation - -2007-01-26 19:03 +0000 [r307] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Cleanup code, we check now the arguments - ahead of time. - -2007-01-26 18:40 +0000 [r306] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Add support for filtering by client-ids - in server mode - -2007-01-26 18:27 +0000 [r305] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Complain if inappropriate options are - used in selected mode - -2007-01-26 18:18 +0000 [r304] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Validate arguments as clientIDs where - appropriate - -2007-01-26 18:10 +0000 [r303] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Transform the list of configurations - into a dictionary. It should make it easier to look through the - known ids. - -2007-01-26 16:47 +0000 [r302] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Default to server mode only at the end. - Small cleanups. - -2007-01-26 16:33 +0000 [r301] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Allow only one mode at a time. - -2007-01-26 16:32 +0000 [r300] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Teach usage() to exit if need be, - simplify the code a bit. - -2007-01-26 16:26 +0000 [r299] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Be a little more careful when accessing - environment variables, provide fallbacks in case they are not - defined - -2007-01-26 11:04 +0000 [r298] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Fix backup.log marker logic. - -2007-01-26 04:27 +0000 [r297] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Make - the keys options more like options rather then mode selectors. - This means that any combination of them is now valid as input on - the command line. Addition documentation work to match these - changes. - -2007-01-26 04:09 +0000 [r296] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep, safekeep/trunk/doc/safekeep.txt: Remove - the short options for selecting the operation mode, since they - were polluting the namespace and they weren't all that useful: - - the server mode is the defalt mode, no switch is required - the - client mode should never be invoked manually - the keys mode - benefits slighly from the additional clarity. This should allow - us in the future more freedom to add other options with those - names. - -2007-01-26 03:56 +0000 [r295] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Reorganize the help message for clarity - -2007-01-25 18:36 +0000 [r294] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: According to the FHS - (http://www.pathname.com/fhs/), we can also exclude the following - dirs: /var/cache /var/lock /var/run /var/tmp - -2007-01-25 16:46 +0000 [r293] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Use os.environ['LOGNAME'] instead of - os.getlogin() to avoid errors when the controlling terminal goes - missing (http://docs.python.org/lib/os-procinfo.html) - -2007-01-25 14:50 +0000 [r292] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Fix 'safekeep -k --deploy' problem. - -2007-01-25 04:57 +0000 [r291] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Always nuke yum's cache of our - repo, it's changing too fast and causes problems - -2007-01-25 04:47 +0000 [r290] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create the config dir so it is - available to receive config files - -2007-01-25 04:21 +0000 [r289] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix server namer. - -2007-01-25 04:09 +0000 [r288] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: If the backup.log exists, mark current - possition and dump starting from the marker only - -2007-01-24 19:58 +0000 [r287] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Provide a reasonable set of - includes/excludes if not specified - -2007-01-23 22:11 +0000 [r286] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: Create dirs for the man page too - -2007-01-23 22:04 +0000 [r285] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Document the build requirements - -2007-01-23 22:04 +0000 [r284] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep.spec.in: We need to create the dir for - the binary - -2007-01-12 11:53 +0000 [r281] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/debian/control: Fix - the debian build rules for the manpage. - -2007-01-12 11:45 +0000 [r280] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/sample.cfg, safekeep/trunk/doc/callouts.xsl - (added), safekeep/trunk/safekeep.spec.in, - safekeep/trunk/debian/control, safekeep/trunk/doc/Makefile - (added), safekeep/trunk/safekeep, safekeep/trunk/doc (added), - safekeep/trunk/doc/safekeep.txt (added), - safekeep/trunk/doc/asciidoc.conf (added): Add documentation and - rework the sample configuration file. - -2007-01-12 05:02 +0000 [r279] Dimi Paun <di...@la...> - - * safekeep/trunk/.project: Fix project name - -2007-01-04 00:36 +0000 [r276] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Test checkin 2 - -2007-01-04 00:31 +0000 [r275] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Test checkin 1 - -2007-01-03 14:36 +0000 [r274] Stelian Pop <st...@la...> - - * safekeep/trunk/Makefile: Update packaging/versionning to SVN - instead of CVS. - -2007-01-03 14:18 +0000 [r273] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep.spec.in: No need for python_sitelib for - SafeKeep. - -2007-01-03 06:46 +0000 [r272] Dimi Paun <di...@la...> - - * safekeep/trunk/README: Fix protocol docs - -2007-01-03 00:32 +0000 [r271] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Misc typo fixes. Use python provided - os.getlogin() and os.uname()[1] instead of looking at possibly - inexistent environment variables. - -2007-01-03 00:30 +0000 [r270] Stelian Pop <st...@la...> - - * safekeep/trunk/sample.cfg: Fix retention parameter and XML syntax - -2007-01-02 23:39 +0000 [r269] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Fix --status argument parsing and - reorganize the option list. - -2007-01-02 23:18 +0000 [r268] Stelian Pop <st...@la...> - - * safekeep/trunk/safekeep: Whitespace cleanup. - -2007-01-02 23:11 +0000 [r267] Stelian Pop <st...@la...> - - * safekeep/trunk/debian/docs (added), safekeep/trunk/debian/rules, - safekeep/trunk/Makefile, safekeep/trunk/safekeep.spec.in (added), - safekeep/trunk/debian/dirs: Packaging (rpm and deb) enhancements: - - first version of safekeep.spec.in - install documentations - (AUTHORS, README, LICENSE, etc) - use $(name) in Makefile instead - of safekeep when possible - -2006-12-27 21:21 +0000 [r266] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/README, safekeep/trunk/debian/changelog.in, - safekeep/trunk/sample.cfg, safekeep/trunk/safekeep-test, - safekeep/trunk/LICENSE, safekeep/trunk/debian/control, - safekeep/trunk/safekeep, safekeep/trunk/AUTHORS: Rename LaBackup - to SafeKeep, using the following rules: - in natural language, it - is spelled SafeKeep - the binary, package, dirs, etc. are all - lower case: safekeep This follows the pattern used by - SpamAssassin. Please note that the files have been manipulated in - the CVS repo to maintain the history. The new CVS module is - called 'SafeKeep', the old 'LaBackup' module still exists in CVS - as read-only. - -2006-12-27 20:50 +0000 [r265] Dimi Paun <di...@la...> - - * safekeep/trunk/LICENSE (added), safekeep/trunk/AUTHORS (added), - safekeep/trunk/COPYING (added): Add OSS structure - -2006-12-27 20:39 +0000 [r264] Dimi Paun <di...@la...> - - * safekeep/trunk/README, safekeep/trunk/safekeep: Add protocol - versioning. - -2006-12-24 17:04 +0000 [r263] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Pass the default id to the client as - well. - -2006-12-20 03:55 +0000 [r262] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Make use of our wrapper spawn() - function. - -2006-12-20 03:46 +0000 [r261] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Replace the '+' in the snapshot version - with '.', the '+' is too unusual. Report the date in UTC to avoid - the need for a timezone. Don't separate time from date to create - one nr for the snapshot id. - -2006-12-20 03:40 +0000 [r260] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Get rid of extranous white space at end - of line - -2006-12-20 03:36 +0000 [r259] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Capture stdout and stderr of child - processes and redirect it to the logs - -2006-12-19 05:50 +0000 [r258] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Exclude /etc/mtab and /etc/lvm - during backup, they change during snapshotting - -2006-12-19 05:36 +0000 [r257] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add ability to pass extra args to - LaBackup, such as -vv flags for debugging - -2006-12-19 05:30 +0000 [r256] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add parameter to control nr of test - iterations - -2006-12-19 05:29 +0000 [r255] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Fix typo - -2006-12-19 01:34 +0000 [r254] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Rerooting the paths on the rbind root - requires special attention - -2006-12-19 01:27 +0000 [r253] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix snapshot syntax and enable - snapshots during testing. - -2006-12-14 04:49 +0000 [r252] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-14 04:45 +0000 [r251] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Always reset the known_hosts file - -2006-12-14 04:32 +0000 [r250] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Always reset the host file - -2006-12-14 04:21 +0000 [r249] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Be a bit more explicit - -2006-12-14 04:19 +0000 [r248] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-14 04:07 +0000 [r247] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-14 04:05 +0000 [r246] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add support for deploying to - multiple distros - -2006-12-14 04:03 +0000 [r245] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add automatic distribution - detection - -2006-12-14 03:49 +0000 [r244] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Use a more distinctive name for the - devel repo - -2006-12-14 03:26 +0000 [r243] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Bunch of little fixes - -2006-12-14 02:57 +0000 [r242] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: If the client is remote (that is, we - have a host), we must have a username and an identity file, so - reflect that in the code by removing all the code testing for - their existance. - -2006-12-14 02:46 +0000 [r241] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Use the default user too - -2006-12-14 02:45 +0000 [r240] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Use the default key for ctrl to - test that portion of the code - -2006-12-14 02:42 +0000 [r239] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Always perform the LVM check for - now - -2006-12-14 02:42 +0000 [r238] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Check for removed --rbinds - -2006-12-14 02:40 +0000 [r237] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Mark the rbind dir so we can later find - it easily - -2006-12-14 02:32 +0000 [r236] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add conditional snapshotting - -2006-12-14 02:23 +0000 [r235] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Mark TODOs clearly - -2006-12-14 02:21 +0000 [r234] Dimi Paun <di...@la...> - - * safekeep/trunk/README: More instructions. - -2006-12-14 02:21 +0000 [r233] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Ensure RDBMSes are installed and - running - -2006-12-13 04:43 +0000 [r232] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Ignore clients that don't have proper - keys - -2006-12-13 04:39 +0000 [r231] Dimi Paun <di...@la...> - - * safekeep/trunk/README (added): Add a small README with info about - the full test - -2006-12-13 04:37 +0000 [r230] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add client automatically to the - server's /etc/hosts - -2006-12-13 04:08 +0000 [r229] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Move fingerprint setup in the - server section - -2006-12-13 04:00 +0000 [r228] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Automatically deploy client's - fingerprint to the server so we avoid any kind of interactivity - during key management. - -2006-12-13 03:24 +0000 [r227] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add support for local commands to - all helper functions. Take over client before we take over the - server. - -2006-12-12 05:21 +0000 [r226] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Rename testfull to fulltest, it's easier - on the tongue. - -2006-12-12 05:20 +0000 [r225] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules: Rename /etc/LaBackup to - /etc/LaBackup.d - -2006-12-12 05:16 +0000 [r224] Dimi Paun <di...@la...> - - * safekeep/trunk/debian/rules, safekeep/trunk/Makefile, - safekeep/trunk/debian/changelog.in, safekeep/trunk/sample.cfg, - safekeep/trunk/safekeep-test, safekeep/trunk/debian/control, - safekeep/trunk/safekeep: Standardize capitalization to - 'LaBackup'. Rename /etc/labackuip --> /etc/LaBackup.d - -2006-12-12 04:49 +0000 [r223] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Backup /srv instead of /var, there - we have too many files changing. Exclude a few problematic files - from the backup. Small misc fixes. - -2006-12-11 19:05 +0000 [r222] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Make the MD5 sums gathered on - client and server as simialar as possible in terms of the - filenames - -2006-12-11 04:21 +0000 [r221] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Prepare the server to receive the - data; better tracing - -2006-12-11 03:55 +0000 [r220] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix copy&paste bug - -2006-12-11 03:46 +0000 [r219] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Install/upgrade appropriately. Also - make sure to blow the cache away to we get the latest - -2006-12-11 03:35 +0000 [r218] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: We renamed the key-{ctrl,data} to - key_{ctrl,data} - -2006-12-11 03:33 +0000 [r217] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Do not attempt to cleanup non-existant - dir - -2006-12-11 03:31 +0000 [r216] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Make package optional, and turn it - off by default. - -2006-12-11 03:28 +0000 [r215] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Tiny fix - -2006-12-11 02:56 +0000 [r214] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Now we have LaBack in repo, install - it - -2006-12-11 02:55 +0000 [r213] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Build, sign and deploy the .rpm - -2006-12-11 01:45 +0000 [r212] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Deploty the server's ID to the - cliend a bit smarter, so we don't keep on adding it ad-infinitum. - -2006-12-11 01:40 +0000 [r211] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Getting rid of the .ssh dir is not - a good idea as we lose access to the box - -2006-12-11 01:38 +0000 [r210] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add the key blindly to make sure we - have it, and we are asked the passwd only once. - -2006-12-11 01:32 +0000 [r209] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-11 01:31 +0000 [r208] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Use the new func to reimplement - writefile() - -2006-12-11 01:29 +0000 [r207] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add function that supports feeding - input to the remote command - -2006-12-11 01:28 +0000 [r206] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Generate a server id file, and - install it on client. Then install the control and data keys via - key management functionality. - -2006-12-10 19:48 +0000 [r205] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Nicer key naming for test server - -2006-12-10 19:05 +0000 [r204] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Introduce a --status action for the - --keys mode, and made it default. It displays the key status - (e.g. what will happen on --deploy) for each of the named - clients. Fix a few bugs left over in the key management code. - -2006-12-10 08:00 +0000 [r203] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Remove debug statement - -2006-12-10 07:56 +0000 [r202] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Remember the original line and feed that - to the client - -2006-12-10 07:54 +0000 [r201] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Render the keys back to text form - -2006-12-10 07:51 +0000 [r200] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Actually returned the parsed keys - -2006-12-10 07:50 +0000 [r199] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Implement parse_authorized_keys() - function. Disable agent forwarding for the commands we are - running on clients. - -2006-12-10 00:36 +0000 [r198] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Never return non-zero exit code - -2006-12-09 22:07 +0000 [r197] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Better key comment - -2006-12-09 22:04 +0000 [r196] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Automatically generate keys if they - don't exist. Rename some variables for clarity. - -2006-12-09 21:36 +0000 [r195] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: On the server side, tracing information - should go to the stderr. - -2006-12-09 21:35 +0000 [r194] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Better tracing - -2006-12-09 21:31 +0000 [r193] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Better error reporting - -2006-12-09 21:28 +0000 [r192] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Get rid of the --clientid option, pass - the ids, if any, as arguments. Handle all clients if no id was - specified on the command line. - -2006-12-09 06:29 +0000 [r191] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Smartly deploy keys to the client (in an - idempotentic manner) - -2006-12-09 06:01 +0000 [r190] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: No need to restrict by host, it - overcomplicates things - -2006-12-09 05:59 +0000 [r189] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Output all key lines at once - -2006-12-09 05:56 +0000 [r188] Dimi Paun <di...@la...> - - * safekeep/trunk/sample.cfg, safekeep/trunk/safekeep-test, - safekeep/trunk/safekeep: Rename key/key2 to key_ctrl/key_data - respectively - -2006-12-09 05:48 +0000 [r187] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Provide default values for key and key2 - -2006-12-08 05:34 +0000 [r186] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Replace ssh-copy-id with our own - (better) implementation. Fix a nasty copy & paste bug, better - tracing. - -2006-12-08 04:58 +0000 [r185] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Better trace - -2006-12-08 04:56 +0000 [r184] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix copy & paste error - -2006-12-08 04:54 +0000 [r183] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Factor out capturing of output from - remote host - -2006-12-08 04:49 +0000 [r182] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: More verbosity, add missing mode - -2006-12-08 04:41 +0000 [r181] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add readfile() abstraction (able to - read content from remote hosts as well), and make use of it - -2006-12-08 04:33 +0000 [r180] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Install the key in backup-op's home - dir, not in root's dir. Lighter quoting, we don't need to be so - strict. - -2006-12-08 04:27 +0000 [r179] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Do not attempt to get LaBackup via - yum for now, it's not available just yet - -2006-12-07 22:32 +0000 [r178] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-07 22:31 +0000 [r177] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Take over the client & server - unconditionally, so we have less chances of breakaage in the test - -2006-12-07 20:28 +0000 [r176] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Quote remote commands properly - -2006-12-07 20:14 +0000 [r175] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix the command generation now that - we abstracted away mkssh() - -2006-12-07 16:51 +0000 [r174] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo, and declare - ssh_id_file_keys as global - -2006-12-07 16:47 +0000 [r173] Dimi Paun <di...@la...> - - * safekeep/trunk/Makefile: Add ability to invoke test via the - Makefile - -2006-12-07 16:46 +0000 [r172] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Avoid errors on non-existant - environment variables - -2006-12-07 16:37 +0000 [r171] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Provide decent company wide - defaults for LaBackup test boxes - -2006-12-07 16:35 +0000 [r170] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Read the client/server address from - the environment if available - -2006-12-07 16:27 +0000 [r169] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Separate rcmd from rpipe for - clarity. Allow them to return the exit status if no description - is passed it - -2006-12-07 16:21 +0000 [r168] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add comment on what we need to do - to get rid of ssh-copy-id - -2006-12-07 15:26 +0000 [r167] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Try to guess SSH id files/keys - automatically - -2006-12-07 14:26 +0000 [r166] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Allow ability to specify identity - file - -2006-12-07 14:19 +0000 [r165] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix a bunch of obvious bugs - -2006-12-05 05:16 +0000 [r164] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Remove extraneous line - -2006-12-05 05:15 +0000 [r163] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Allow for specifying the address of - the client and server in the remote test - -2006-12-05 05:11 +0000 [r162] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: For now, run the full test only for - 2 interations - -2006-12-05 05:10 +0000 [r161] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Remove stale arg - -2006-12-05 04:58 +0000 [r160] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Create the base .cfg file for the - full test. Small cleanups and reorgs. - -2006-12-05 04:42 +0000 [r159] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test, safekeep/trunk/safekeep: Implement - the --print flag for the --keys mode. - -2006-12-05 04:39 +0000 [r158] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Install the keys on the client. - -2006-12-05 04:31 +0000 [r157] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Merge the lbc-copy-id script into - LaBackup. - -2006-12-05 04:27 +0000 [r156] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Better id - -2006-12-05 04:26 +0000 [r155] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Merge key management into LaBackup - -2006-12-05 03:49 +0000 [r154] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Refactor the parsing code to a separate - function - -2006-12-05 02:23 +0000 [r153] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Fix typo - -2006-12-05 02:23 +0000 [r152] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep: Reorg help output, add more checks - -2006-12-05 02:03 +0000 [r151] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix glob pattern - -2006-12-05 01:36 +0000 [r150] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Fix typo - -2006-12-04 06:09 +0000 [r149] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Compute the MD5 sums of all files - that were backed up - -2006-12-04 06:08 +0000 [r148] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Implement big chunk of remote test - -2006-12-04 05:57 +0000 [r147] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add ability to pipe from one remote - machine to another - -2006-12-04 05:39 +0000 [r146] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Create files on client - -2006-12-04 05:35 +0000 [r145] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add support for creating file on a - remote machine as well - -2006-12-03 21:38 +0000 [r144] Dimi Paun <di...@la...> - - * safekeep/trunk/safekeep-test: Add start for test-remote, plus - document remaining steps to accomplish - -2006-12-03 19:21 +0000 [r143] Mihai Popa <mi...@la...> - - * safekeep/trunk/safekeep-test: fix comments - -2006-12-03 18:26 +0000 [r142] Dimi Paun <di...@la...> -... [truncated message content] |
From: <di...@us...> - 2008-02-26 20:48:40
|
Revision: 582 http://safekeep.svn.sourceforge.net/safekeep/?rev=582&view=rev Author: dimi Date: 2008-02-26 12:48:30 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Update ChangeLog Modified Paths: -------------- safekeep/trunk/ChangeLog Modified: safekeep/trunk/ChangeLog =================================================================== --- safekeep/trunk/ChangeLog 2008-02-26 20:48:09 UTC (rev 581) +++ safekeep/trunk/ChangeLog 2008-02-26 20:48:30 UTC (rev 582) @@ -1,3 +1,129 @@ +2008-02-26 20:46 +0000 [r580] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep.spec.in: Update .spec file. + +2008-02-26 18:18 +0000 [r579] Dimi Paun <di...@la...> + + * safekeep/trunk/ANNOUNCE: Prepare the ANNOUNCE file for the + release. + +2008-02-25 01:03 +0000 [r578] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile: Build docs for build. + +2008-02-25 00:57 +0000 [r577] Dimi Paun <di...@la...> + + * safekeep/trunk/doc/safekeep.backup.txt, safekeep/trunk/TODO: + Clarify snapshot usage. + +2008-02-24 16:53 +0000 [r576] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep, safekeep/trunk/TODO: More portable way + of invoking python, as suggested by Igor Klingen. This fixes it + for FreeBSD. + +2008-02-24 16:49 +0000 [r575] Dimi Paun <di...@la...> + + * safekeep/trunk/doc/safekeep.backup.txt, safekeep/trunk/safekeep, + safekeep/trunk/doc/safekeep.txt: Frank Crawford + <fr...@cr...> This adds the mode --list, and options + which correspond with rdiff-backup options, i.e. --increments + (equiv --list-increments) - the default, --sizes (equiv + --list-increment-sizes), --changed=DATE (equiv + --list-changed-since), and --at-time=DATE (equiv --list-at-time). + It also adds an option which disables email (--noemail) as when + used interactively it isn't worth generating email messages. + +2008-02-24 16:42 +0000 [r574] Dimi Paun <di...@la...> + + * safekeep/trunk/TODO: Update TODO + +2008-02-24 16:42 +0000 [r573] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep: Frank Crawford + <fr...@cr...> * Fixed failure when mount table has + extra options. * Tear down FS snapshots in reverse order to the + setup order. * Load the LVM snapshot module, in case it is not + already loaded. * Fixed a minor spelling mistake in an assert + message. + +2007-11-07 15:35 +0000 [r572] Dimi Paun <di...@la...> + + * safekeep/trunk/TODO: Update TODO. + +2007-11-07 15:16 +0000 [r571] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep: Bit clearer snapshot handling. + +2007-11-07 15:03 +0000 [r570] Dimi Paun <di...@la...> + + * safekeep/trunk/TODO: Update TODO. + +2007-11-07 15:01 +0000 [r569] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile, safekeep/trunk/safekeep.spec.in, + safekeep/trunk/debian/control, safekeep/trunk/TODO: Build docs at + distribution time to remove build-time dependency on asciidoc 6, + which requires python 2.3. These components are not readily + available on older system, making it impossible for packagers to + provide ready-make packages for distros such as RHEL3. Based on a + suggestion from Dag Wieers <da...@wi...>. + +2007-11-07 14:54 +0000 [r568] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile: Make uses $() not ${} + +2007-11-07 14:52 +0000 [r567] Dimi Paun <di...@la...> + + * safekeep/trunk/TODO: More stuff on the wish list + +2007-11-07 14:39 +0000 [r566] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep-test: Update test to be explicit with the + mode + +2007-11-07 14:39 +0000 [r565] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep: Change version to a devel number + +2007-11-07 14:36 +0000 [r564] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep, safekeep/trunk/TODO, + safekeep/trunk/doc/safekeep.txt: Always require specification of + the operation mode, based on suggestion from Gert + <ger...@ta...>. + +2007-11-07 14:21 +0000 [r563] Dimi Paun <di...@la...> + + * safekeep/trunk/TODO: Update TODO with feedback from users. + +2007-11-07 14:17 +0000 [r562] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep: Future import must come first. + +2007-11-07 14:15 +0000 [r561] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep: Provide Python 2.2 compatibility based + on a suggestion from Gert <ger...@ta...>. + +2007-10-19 17:24 +0000 [r558] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile: We have to upload the tarball too to SF. + +2007-10-19 17:17 +0000 [r557] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile: Automate SF uploading too. + +2007-10-19 17:10 +0000 [r556] Dimi Paun <di...@la...> + + * safekeep/trunk/Makefile: Add simple deploy target to deploy RPMs + to YUM repo + +2007-10-19 16:50 +0000 [r554] Dimi Paun <di...@la...> + + * safekeep/trunk/safekeep.spec.in, safekeep/trunk/ChangeLog: Update + ChangeLog + 2007-10-19 16:47 +0000 [r553] Dimi Paun <di...@la...> * safekeep/trunk/safekeep, safekeep/trunk/ANNOUNCE: Prepare for This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 20:48:12
|
Revision: 581 http://safekeep.svn.sourceforge.net/safekeep/?rev=581&view=rev Author: dimi Date: 2008-02-26 12:48:09 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Update version. Modified Paths: -------------- safekeep/trunk/safekeep Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-02-26 20:46:50 UTC (rev 580) +++ safekeep/trunk/safekeep 2008-02-26 20:48:09 UTC (rev 581) @@ -54,7 +54,7 @@ base_dir = None PROTOCOL = "1.0" -VERSION = "1.0.3.90" +VERSION = "1.0.4" VEBOSITY_BY_CLASS = {'DBG': 3, 'INFO': 2, 'WARN': 1, 'ERR': 0} ###################################################################### This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 20:46:56
|
Revision: 580 http://safekeep.svn.sourceforge.net/safekeep/?rev=580&view=rev Author: dimi Date: 2008-02-26 12:46:50 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Update .spec file. Modified Paths: -------------- safekeep/trunk/safekeep.spec.in Modified: safekeep/trunk/safekeep.spec.in =================================================================== --- safekeep/trunk/safekeep.spec.in 2008-02-26 18:18:06 UTC (rev 579) +++ safekeep/trunk/safekeep.spec.in 2008-02-26 20:46:50 UTC (rev 580) @@ -116,6 +116,14 @@ %doc sample.backup %changelog +* Tue Feb 26 2008 Dimi Paun <di...@la...> 1.0.4-1 + - Add options to allow the query of the backup repository + - Important fixes when dealing with snapshots + - Make it more compatible with Python 2.2 (more work remains) + - Avoid build-time dependency on asciidoc which depends on Python 2.3 + - Add some clarifications to the documentation + - Add support for FreeBSD + * Fri Oct 19 2007 Dimi Paun <di...@la...> 1.0.3-1 - Clarify licensing in lite of the new GPLv3 license; - New --force option to handle unexpected problems with the data repository; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-26 18:18:11
|
Revision: 579 http://safekeep.svn.sourceforge.net/safekeep/?rev=579&view=rev Author: dimi Date: 2008-02-26 10:18:06 -0800 (Tue, 26 Feb 2008) Log Message: ----------- Prepare the ANNOUNCE file for the release. Modified Paths: -------------- safekeep/trunk/ANNOUNCE Modified: safekeep/trunk/ANNOUNCE =================================================================== --- safekeep/trunk/ANNOUNCE 2008-02-25 01:03:26 UTC (rev 578) +++ safekeep/trunk/ANNOUNCE 2008-02-26 18:18:06 UTC (rev 579) @@ -1,31 +1,32 @@ -This is release 1.0.3 of SafeKeep, a centralized and easy to use +This is release 1.0.4 of SafeKeep, a centralized and easy to use backup application that combines the best features of a mirror and an incremental backup. What's new in this release: - - Clarify licensing in lite of the new GPLv3 license; - - New --force option to handle unexpected problems with the data repository; - - Better logging and status handling when we invoke external commands - - Clearer backup status on job end. - - A small packaging bug got fixes. + - Add options to allow the query of the backup repository + - Important fixes when dealing with snapshots + - Make it more compatible with Python 2.2 (more work remains) + - Avoid build-time dependency on asciidoc which depends on Python 2.3 + - Add some clarifications to the documentation + - Add support for FreeBSD Because of lags created by using mirrors, this message may reach you before the release is available at the public sites. Sources and binaries will be available from the following locations: - RedHat EL 3,4,5, CentOS 3,4,5, Fedora 4,5,6,7: - http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.0.3-1.noarch.rpm - http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.0.3-1.noarch.rpm - http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.0.3-1.noarch.rpm - http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.3-1.src.rpm + http://prdownloads.sourceforge.net/safekeep/safekeep-common-1.0.4-1.noarch.rpm + http://prdownloads.sourceforge.net/safekeep/safekeep-client-1.0.4-1.noarch.rpm + http://prdownloads.sourceforge.net/safekeep/safekeep-server-1.0.4-1.noarch.rpm + http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.4-1.src.rpm - Ubuntu Edgy, Dapper, and Breezy: - http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.0.3_all.deb - http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.0.3_all.deb - http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.0.3_all.deb + http://prdownloads.sourceforge.net/safekeep/safekeep-common_1.0.4_all.deb + http://prdownloads.sourceforge.net/safekeep/safekeep-client_1.0.4_all.deb + http://prdownloads.sourceforge.net/safekeep/safekeep-server_1.0.4_all.deb - Source: - http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.3.tar.gz + http://prdownloads.sourceforge.net/safekeep/safekeep-1.0.4.tar.gz To find out more about the project visit on our website: http://safekeep.sourceforge.net This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-25 01:03:28
|
Revision: 578 http://safekeep.svn.sourceforge.net/safekeep/?rev=578&view=rev Author: dimi Date: 2008-02-24 17:03:26 -0800 (Sun, 24 Feb 2008) Log Message: ----------- Build docs for build. Modified Paths: -------------- safekeep/trunk/Makefile Modified: safekeep/trunk/Makefile =================================================================== --- safekeep/trunk/Makefile 2008-02-25 00:57:47 UTC (rev 577) +++ safekeep/trunk/Makefile 2008-02-25 01:03:26 UTC (rev 578) @@ -52,7 +52,7 @@ @echo "SVN Root = $(svnroot)" -build: +build: docs release: check-info commit-release dist distrpm This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-25 00:57:49
|
Revision: 577 http://safekeep.svn.sourceforge.net/safekeep/?rev=577&view=rev Author: dimi Date: 2008-02-24 16:57:47 -0800 (Sun, 24 Feb 2008) Log Message: ----------- Clarify snapshot usage. Modified Paths: -------------- safekeep/trunk/TODO safekeep/trunk/doc/safekeep.backup.txt Modified: safekeep/trunk/TODO =================================================================== --- safekeep/trunk/TODO 2008-02-24 16:53:23 UTC (rev 576) +++ safekeep/trunk/TODO 2008-02-25 00:57:47 UTC (rev 577) @@ -4,7 +4,6 @@ * Add tests db dumps * Avoid snapshotting snapshots * Don't snapshot a device if a snapshot is already present - * Clarify snapshot usage in docs * local backup to bypass ssh Feedback from users: Modified: safekeep/trunk/doc/safekeep.backup.txt =================================================================== --- safekeep/trunk/doc/safekeep.backup.txt 2008-02-24 16:53:23 UTC (rev 576) +++ safekeep/trunk/doc/safekeep.backup.txt 2008-02-25 00:57:47 UTC (rev 577) @@ -179,9 +179,11 @@ Optional, defaults to "false". /backup/setup/snapshot/@device:: - The path (device location) to the LVM volume to snapshot - before the backup commences. It is recommended. - Multiple snapshots may be specified, in which case the + The path (device location) to the client LVM volume to snapshot + before the backup commences. Note that the snapshot happens + on the client machines, and it ensures that the data that is + being backed-up is in a consistent state throughout the backup + process. Multiple snapshots may be specified, in which case the order is important, the associated filesystems are mounted in the order given. Please note that using this feature requires that `safekeep(1)` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-24 16:53:25
|
Revision: 576 http://safekeep.svn.sourceforge.net/safekeep/?rev=576&view=rev Author: dimi Date: 2008-02-24 08:53:23 -0800 (Sun, 24 Feb 2008) Log Message: ----------- More portable way of invoking python, as suggested by Igor Klingen. This fixes it for FreeBSD. Modified Paths: -------------- safekeep/trunk/TODO safekeep/trunk/safekeep Modified: safekeep/trunk/TODO =================================================================== --- safekeep/trunk/TODO 2008-02-24 16:49:47 UTC (rev 575) +++ safekeep/trunk/TODO 2008-02-24 16:53:23 UTC (rev 576) @@ -7,18 +7,6 @@ * Clarify snapshot usage in docs * local backup to bypass ssh -When I tried to run safekeep under FreeBSD I got an error: "bad interpreter". -It was because the safekeep magic line is -#!/usr/bin/python -and in FreeBSD the python is located in the /usr/local/bin directory. - -When I chaged this line to (see python tutorial, 2.2.2): -#!/usr/bin/env python -the safekeep began to run w/o errors. - -More thanks, -Igor Klingen - Feedback from users: * Øyvind Skaar <os...@op...>: FreeBSD have snapshot capabilities - http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/snapshots.html Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-02-24 16:49:47 UTC (rev 575) +++ safekeep/trunk/safekeep 2008-02-24 16:53:23 UTC (rev 576) @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python # Copyright (C) 2006-2007 Lattica, Inc. # This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-24 16:49:49
|
Revision: 575 http://safekeep.svn.sourceforge.net/safekeep/?rev=575&view=rev Author: dimi Date: 2008-02-24 08:49:47 -0800 (Sun, 24 Feb 2008) Log Message: ----------- Frank Crawford <fr...@cr...> This adds the mode --list, and options which correspond with rdiff-backup options, i.e. --increments (equiv --list-increments) - the default, --sizes (equiv --list-increment-sizes), --changed=DATE (equiv --list-changed-since), and --at-time=DATE (equiv --list-at-time). It also adds an option which disables email (--noemail) as when used interactively it isn't worth generating email messages. Modified Paths: -------------- safekeep/trunk/doc/safekeep.backup.txt safekeep/trunk/doc/safekeep.txt safekeep/trunk/safekeep Modified: safekeep/trunk/doc/safekeep.backup.txt =================================================================== --- safekeep/trunk/doc/safekeep.backup.txt 2008-02-24 16:42:59 UTC (rev 574) +++ safekeep/trunk/doc/safekeep.backup.txt 2008-02-24 16:49:47 UTC (rev 575) @@ -180,7 +180,10 @@ /backup/setup/snapshot/@device:: The path (device location) to the LVM volume to snapshot - before the backup commences. It is recommended + before the backup commences. It is recommended. + Multiple snapshots may be specified, in which case the + order is important, the associated filesystems are mounted + in the order given. Please note that using this feature requires that `safekeep(1)` runs as `root` on the client. Mandatory for a `<snapshot>` element. Modified: safekeep/trunk/doc/safekeep.txt =================================================================== --- safekeep/trunk/doc/safekeep.txt 2008-02-24 16:42:59 UTC (rev 574) +++ safekeep/trunk/doc/safekeep.txt 2008-02-24 16:49:47 UTC (rev 575) @@ -7,10 +7,12 @@ SYNOPSIS -------- -'safekeep' --server [-q] [-v] [--force] [-c file] <clientid>* +'safekeep' --server [-q] [-v] [--noemail] [--force] [-c file] <clientid>* -'safekeep' --keys [-q] [-v] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>* +'safekeep' --keys [-q] [-v] [--noemail] [-c file] [-i file] [--status] [--print] [--deploy] <clientid>* +'safekeep' --list [-q] [-v] [--noemail] [-c file] [--increments] [--parsable-output] [--sizes] [--changed=<time>] [--at-time=<time>] <clientid>* + 'safekeep' --client 'safekeep' -h | -V @@ -20,7 +22,8 @@ SafeKeep is a client/server backup script which enhances the power of rdiff-backup with simple configuration and use. -SafeKeep can work in server mode, client mode or SSH key management mode. +SafeKeep can work in server mode, client mode, SSH key management mode +or list mode. In server mode, SafeKeep parses a set of configurations files which defines a set of backup clients. For each backup client, SafeKeep @@ -41,7 +44,10 @@ The SSH key management mode is a helper mode for deploying or verifying the setup of the SSH authentification keys. -In both server and keys management mode, you can restrict the operation +In list mode, SafeKeep lists the details of existing archives. This is +basically an interface to the relevant options for `rdiff-backup`. + +In server, keys management and list mode, you can restrict the operation to a specific set of clients by listing the desired client IDs as arguments. If no client ID is given, SafeKeep will operate over all known clients. @@ -61,6 +67,9 @@ --keys:: Selects the SSH key management mode +--list:: + Selects the list mode + Please note that you must always specify an operation mode. Earlier versions used do default to `--server` mode, but that proved to work out poorly in practice. @@ -89,6 +98,10 @@ Increases the verbosity level. Can be specified more than once. +--noemail:: + Disables the sending of email, no matter what the settings + within the configuration file. + SERVER OPTIONS -------------- --force:: @@ -118,6 +131,37 @@ --deploy:: Deploy the authorization keys on the clients. +LIST OPTIONS +------------ +--increments:: + Pass the `--list-increments` option to `rdiff-backup`, to + list the number and date of partial incremental backups for + the given or all clients. This is the default list option. + +--parseable-output:: + Pass the `--parsable-output` option to `rdiff-backup` to + generate output in a format that is easily parsed by other + programs. This currently only works with the `--increments`. + +--sizes:: + Pass the `--list-increment-sizes` option to `rdiff-backup`, + to list the total size of all increment and mirror files by + time for the given or all clients. Note, this may take some time. + +--changed=TIME:: + Pass the `--list-changed-since` option for TIME to `rdiff-backup`, + to list the files changed since TIME for the given clients. + TIME is passed directly to `rdiff-backup`. Note, this may take + some time and generate considerable output. Also, unlike + `rdiff-backup` the is no option to select sub-directories. + +--at-time=TIME:: + Pass the `--list-at-time` option for TIME to `rdiff-backup`, + to list the files in the archive that were present at the + given time for the given clients. Note, this may take some + time and generate considerable output. Also, unlike + `rdiff-backup` the is no option to select sub-directories. + CONFIGURATION ------------- Modified: safekeep/trunk/safekeep =================================================================== --- safekeep/trunk/safekeep 2008-02-24 16:42:59 UTC (rev 574) +++ safekeep/trunk/safekeep 2008-02-24 16:49:47 UTC (rev 575) @@ -706,6 +706,38 @@ info('------------------------------------------------------------------') debug('Server backup done') +def do_list(cfgs, ids, list_type, list_date, list_parsable): + debug("Do server listing main loop") + for cfg in cfgs.itervalues(): + id = cfg['id'] + if ids and id not in ids: continue + info('------------------------------------------------------------------') + info('Server listing for client %s' % id) + + args = ['rdiff-backup'] + + if list_type is 'increments': + args.extend(['--list-increments']) + elif list_type is 'sizes': + args.extend(['--list-increment-sizes']) + elif list_type is 'changed': + args.extend(['--list-changed-since', list_date]) + elif list_type is 'attime': + args.extend(['--list-at-time', list_date]) + else: + assert False, 'Unknown list type: ' + list_type + + if list_parsable: + args.extend(['--parsable-output']) + + args.extend([cfg['dir']]) + ret = spawn(args) + if ret: + raise Exception('Failed to run rdiff-backup') + + info('------------------------------------------------------------------') + debug('Server listing done') + def do_keys(cfgs, ids, identity, status, dump, deploy): for cfg in cfgs.itervalues(): id = cfg['id'] @@ -853,10 +885,12 @@ def usage(exitcode=None): print 'usage: %s --server [common options] [server options] <client-id>*' % (sys.argv[0]) print ' %s --keys [common options] [keys options] <client-id>*' % (sys.argv[0]) + print ' %s --list [common options] [list options] <client-id>*' % (sys.argv[0]) print print 'mode selection (you must pick one):' print '--server launch in server mode' print '--keys launch in keys management mode' + print '--list list previous backup status' print print 'common options:' print '-c, --conf=FILE use the FILE configuration file' @@ -864,6 +898,7 @@ print '-q, --quiet decreases the verbosity level' print '-v, --verbose increases the verbosity level' print '-V, --version show the version number and exit' + print '--noemail disables the sending of email' print print 'server options:' print '--force force backup destination overwriting, dangerous!' @@ -873,6 +908,13 @@ print '--status display the key status for the clients (default)' print '--print display the authorization keys' print '--deploy deploy the authorization keys' + print + print 'list options:' + print '--increments list number and dates of increments' + print '--parsable-output tailor output for parsing by other programs' + print '--sizes list sizes of all the increments' + print '--changed=time list files that have changed since time' + print '--at-time=time list files in the archive at given time' if exitcode is not None: sys.exit(exitcode) def main(): @@ -880,6 +922,9 @@ opts, args = getopt.getopt(sys.argv[1:], 'c:e:i:hs:qvV', [ 'conf=', 'client', 'clientid=', 'deploy', 'email=', 'force', 'help', 'keys', + 'list', 'increments', 'sizes', + 'parsable-output', 'changed=', 'at-time=', + 'noemail', 'print', 'quiet', 'server', 'smtp=', 'status', 'verbose', 'version']) except getopt.GetoptError: @@ -894,6 +939,10 @@ verbosity = 0 clientid = None force = 0 + noemail = 0 + list_type = None + list_parsable = 0 + list_date = None identity = None keys_status = None keys_print = None @@ -921,6 +970,9 @@ elif o in ('--server', ): if mode: usage(2) mode = 'server' + elif o in ('--list', ): + if mode: usage(2) + mode = 'list' elif o in ('--client', ): if mode: usage(2) mode = 'client' @@ -929,6 +981,24 @@ mode = 'keys' elif o in ('--force', ): force = 1 + elif o in ('--noemail', ): + noemail = 1 + elif o in ('--increments', ): + if list_type: usage(2) + list_type = 'increments' + elif o in ('--sizes', ): + if list_type: usage(2) + list_type = 'sizes' + elif o in ('--parsable-output', ): + list_parsable = 1 + elif o in ('--changed', ): + if list_type: usage(2) + list_type = 'changed' + list_date = a + elif o in ('--at-time', ): + if list_type: usage(2) + list_type = 'attime' + list_date = a elif o in ('-i', ): identity = a elif o in ('--status', ): @@ -951,6 +1021,9 @@ if mode is not 'keys' and (identity or keys_status or keys_print or keys_deploy): usage(2) + if mode is not 'list' and (list_type or list_date or list_parsable): + usage(2) + if mode is not 'server' and (email or smtp): usage(2) @@ -1016,6 +1089,12 @@ is_client = False verbosity_level = 1 + verbosity do_server(cfgs, args, force) + elif mode is 'list': + if list_type is None: + list_type = 'increments' + is_client = False + verbosity_level = 2 + verbosity + do_list(cfgs, args, list_type, list_date, list_parsable) elif mode is 'client': is_client = True verbosity_level = 3 + verbosity @@ -1032,7 +1111,7 @@ traceback.print_exc(file=sys.stdout) error('ERROR: %s' % ex) - if email: + if email and not noemail: send_notification(email, smtp) if __name__ == '__main__': This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <di...@us...> - 2008-02-24 16:43:03
|
Revision: 574 http://safekeep.svn.sourceforge.net/safekeep/?rev=574&view=rev Author: dimi Date: 2008-02-24 08:42:59 -0800 (Sun, 24 Feb 2008) Log Message: ----------- Update TODO Modified Paths: -------------- safekeep/trunk/TODO Modified: safekeep/trunk/TODO =================================================================== --- safekeep/trunk/TODO 2008-02-24 16:42:27 UTC (rev 573) +++ safekeep/trunk/TODO 2008-02-24 16:42:59 UTC (rev 574) @@ -4,7 +4,21 @@ * Add tests db dumps * Avoid snapshotting snapshots * Don't snapshot a device if a snapshot is already present + * Clarify snapshot usage in docs + * local backup to bypass ssh +When I tried to run safekeep under FreeBSD I got an error: "bad interpreter". +It was because the safekeep magic line is +#!/usr/bin/python +and in FreeBSD the python is located in the /usr/local/bin directory. + +When I chaged this line to (see python tutorial, 2.2.2): +#!/usr/bin/env python +the safekeep began to run w/o errors. + +More thanks, +Igor Klingen + Feedback from users: * Øyvind Skaar <os...@op...>: FreeBSD have snapshot capabilities - http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/snapshots.html This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |