tranfer xferOK to detect errors and run cleanup
[BackupPC.git] / README.ASA
index f762f57..a1f28a2 100644 (file)
@@ -2,11 +2,38 @@ This document tries to describe ASA extensions for BackupPC 3.2.0
 
 Written by Dobrica Pavlinusic <dpavlin@rot13.org> 2011-01-27
 
 
 Written by Dobrica Pavlinusic <dpavlin@rot13.org> 2011-01-27
 
-Search and archive maintain data in PostgreSQL and full-text search. Since full-text search
-is single-writer, we need to serialize somehow requests for it's update.
+This is second iteration of adding search over arbitrary filename substrings and archive
+to CD/DVD media with tracking of copies and additional md5sum creation on them for easy
+burned media verification.
 
 
-This is implemented using archive host feature using _search_archive.pl configuration
-file in /etc/BackupPC/pc/_search_archive.pl
+ASA maintains it's data in PostgreSQL and KinoSearch (for faster part-of-filename matching).
+Since full-text search is single-writer, we need to serialize somehow requests for it's update.
+
+Implementation is based on archive host feature in BackupPC using _search_archive.pl configuration
+file located at /etc/BackupPC/pc/_search_archive.pl
+
+This provides us with serialization and hooks around it, but lacked incremental tar creation which
+is essential because we want to burn always increasing archive on CD/DVD media.
+
+This is implemented using new global configuration directive TarCreateIncremental
+
+Using BackupPC hooks to integrate and archive host also provided following advantages:
+       - web interface for archive host contains our log messages
+       - all updates are invoked automatically on end of each run (system is always up to date)
+
+BackupPC can dump multiple machines in parallel, this invoking our _search_archive host and index
+update while update from different machine is still in process. Archive host will reject request,
+but next invocation of same host will fix problem automatically.
+
+To be sure that all pending archives are indexed, you can also run cron job which invokes _search_archive
+on all pending increments:
+
+       /BackupPC_ASA_ArchiveStart _search_archive backuppc
+
+You can also force archival of particual pending backups from single host by adding hostname(s) or
+hostname:num to backup individual increment.
+
+Alternativly, you can use _search_archive web interface to invoke increment creation and indexing.
 
 
 
 
 
 
@@ -56,14 +83,15 @@ $Conf{ArchiveMediaSize} =  630 * 1024 * 1024; # CD
 # This is useful where the file size of the archive might exceed the
 # capacity of the removable media. For example specify 700 if you are using CDs.
 #$Conf{ArchiveSplit} = 650;
 # This is useful where the file size of the archive might exceed the
 # capacity of the removable media. For example specify 700 if you are using CDs.
 #$Conf{ArchiveSplit} = 650;
-$Conf{ArchiveSplit} = 42; # FIXME small testing chunks
+$Conf{ArchiveSplit} = 100; # FIXME small testing chunks
 
 
 # The amount of parity data to create for the archive using the par2 utility.
 # In some cases, corrupted archives can be recovered from parity data.
 
 
 # The amount of parity data to create for the archive using the par2 utility.
 # In some cases, corrupted archives can be recovered from parity data.
-$Conf{ArchivePar} = 0;
-$Conf{ParPath} = undef;
-
+$Conf{ArchivePar} = 30;
+$Conf{ParPath} = '/srv/par2cmdline-0.4-tbb-20100203-lin64/par2';
+# http://chuchusoft.com/par2_tbb/download.html
+# par2cmdline 0.4 with Intel Threading Building Blocks 2.2
 
 # use parallel gzip (speedup on multi-code machines)
 $Conf{GzipPath} = '/usr/bin/pigz';
 
 # use parallel gzip (speedup on multi-code machines)
 $Conf{GzipPath} = '/usr/bin/pigz';