Well, I think I must have more explanation on my script. The script's usage is like this: ~# fs_backup Lack of backup identity name program usage: fs_backup [OPTIONS] $identity OPTIONS: -a|--append [t/x[L]:$path, append 1 dir or file to $identity t/x: include/exclude list, as -T/-X of 'tar' L:file, append a batch of dirs/files to $identity by LIST -d|--delete $path, delete 1 dir or file from $identity -t|--type $type, specify the backup type: full/diff/incr -D|--delete-outdated [f/d], delete outdated files/empty-dirs when restoring. -o 'option=value' -w|--wrap 'wrap of tar options' -h|--help, print this help message
For example, I want to backup /var/www/html, with excluding /var/www/ html/syssite/home/cache, and name this backup as pages, I will do this: sh# fs_backup -a t:/var/www/html pages sh# fs_backup -a x:/var/www/html/syssite/home/cache pages # These t/x have the same meaning of tar's '-T/-X' sh# fs_backup -t full pages sh# fs_backup -t incr pages These will update /var/fs_backup/.table, (/var/fs_backup is 'datadir', you can configure it to anywhere you like by editing the configuration file, /etc/new/fs_backup.config): pages, full, 20070204-231749, pages/pages.full.20070204-231749 pages, incr, 20070205-101011, pages/pages.incr.20070205-101011 ...... May be I want add something to 'pages': sh# fs_backup -a t:/usr/local/apache2/htdocs pages sh# fs_backup -t full pages Once I want recovery from the backup, I will do this: sh# fs_rstore pages This fs_rstore is just a symlink to fs_backup. All the files from the last full backup will be restored. The actually thing the script done is like this: 2007-03-18 20:32:20 fs_backup DEBUG find /mnt/file/data/ -cnewer /var/ fs_backup/work/.ts ! -type d -print >>/tmp/fs_backup.work.incr. 1174221140.0.list 2007-03-18 20:32:20 fs_backup DEBUG find /mnt/file/work/ -cnewer /var/ fs_backup/work/.ts ! -type d -print >>/tmp/fs_backup.work.incr. 1174221140.0.list 2007-03-18 20:32:20 fs_backup DEBUG tar -czp -P -f /var/fs_backup/work/ work.incr.20070318-203220.tgz -T /tmp/fs_backup.work.incr. 1174221140.0.list .identity .dirs .files .dirs .files is just a snapshot of the current directories, which can be used to delete-outdated files when restoring. Here I used absolute path by using tar's -P parameter. When fs_rstore, it will do this: command = "tar -xpz -P -f %s.tgz -T %s" % (archive, self.t_files) maybe I want add some parameters of tar, for example, --strip-path=X, so I hope the fs_rstore can do this: sh# fs_rstore pages --strip-path=X rather than: sh# fs_rstore pages -w '--strip-path=X' What should I do? Thank you. -- http://mail.python.org/mailman/listinfo/python-list