=head1 BackupPC search and archival extension BackupPC search and archival extension is used to: =over 4 =item * find files in C by substring of filename =item * see state of one or all of your shares in some particular point in time (file creation date on clients or backup date is supported as filter) =item * archive selected backups (per host, share and increment) to archival medium (CD, DVD, tape etc.) with rich descriptions, archival locations, multiple copies and so on. =back =head2 Requirements This extension is based on PostgreSQL RDBMS and Hyper Estraier full-text search engine (and it's perl bindings). If you are using Debian, you are in luck. All required packages are allready part of C distribution and can be installed with: # apt-get install postgresql # apt-get install hyperestraier libestraier-dev libqdbm-dev Now you can skip to installation of L below. If you don't have pre-packaged binaries for your installation, you will need to install additional packages by hand. =head3 PostgreSQL You can use packages provided by your distribution or follow installation instructions on PostgreSQL site. =head3 QDBM First, you need qdbm on which Hyper Estraier depends. Installation is simple. $ tar xvfz qdbm-1.8.31.tar.gz $ cd qdbm-1.8.31 $ ./configure --enable-zlib $ make $ sudo make install =head3 Hyper Estraier Also quite simple. $ tar xvfz hyperestraier-0.5.4.tar.gz $ cd hyperestraier-0.5.4 $ ./configure $ make $ sudo make install Then you will have to install perl bindings for Hyper Estraier. =head3 Hyper Estraier perl bindings Just use C shell to install C module $ sudo cpan Search::Estraier There was awaful long procedure about installing perl C bindings, but it's all gone now. =head3 CPAN modules You will also need a few additional cpan modules =over 4 =item File::Pid =item File::Which =item File::Path =item File::Slurp =item Search::Estraier =item Spreadsheet::WriteExcel =item Term::Menus =item XML::Writer =item Algorithm::Diff =item Archive::Tar::Stream =item Filesys::Df =back Last module, C is needed only if you want to use C to generate Excel reports from your backup data. Easiest way to install them is using C shell. $ sudo cpan File::Pid Spreadsheet::WriteExcel ... =head1 Creation of initial database Once you have all components installed, you should initially create data about increments in RDBMS and full-text search engine index. First, edit C and setup C to valid perl DSN (for example, C and C to database user which has priviledges over that database. You might need to add additional directives in PostgreSQL's C so that selected user can be connected without password (I know, it's not perfect, but I trust local users on backuppc machine). Then, create new database for backuppc. $ createdb backuppc Then invoke C for the first time with argument to create database schema: $ sudo -u backuppc /data/backuppc/bin/BackupPC_updatedb -c You can also force full-text reindex by C<-i> flag. This will add all files which are in database but for some reason are missing in full-text index. Now, you can setup cron job which will daily check your backups and update database and full-text index. This is as simple as invoking /data/backuppc/bin/BackupPC_updatedb As C user and redirecting output to log file. B. Now that you finished installation, you can select new options from menu on the left and example search and archival. =head1 Reporting in Excel Often, it is useful to be able to present report about your BackupPC hosts, number of snapshots, total size and other useful info. While all those information can be accessed using web browser, for analysis it's useful to have them in spreadsheet form. With this data, you can monitor changes on your backup cycle, effects of changes on your server or network to your BackupPC installation and so on. You can create Excel spreadsheet (which works perfectly with Gnumeric also) using following command: $ sudo -u backuppc /data/backuppc/bin/BackupPC_xls_report =head1 Additional requirements You will also need several other command-line utilities to make C run. Those include: =over 4 =item mkisofs =item cdrecord Or equivavalent utility, on Debian you might want to use C. =item eject Please make a symlink from C to you CD/DVD burner. =item split =back =head1 Troubleshoting =head2 md5sum problems on Debian If you are running Debian stable and expiriencing error message like -: No such file or directory your C comes from C (which doesn't know how to handle C<-> as input) as opposed to C which comes with C (which does). Fix is simple, correct md5sum is allready installed, you just have to do: sudo cp /usr/bin/md5sum.textutils /usr/bin/md5sum =head1 Related projects BackupPC allready has archival host which might suit your needs better (and it's quite easier to install). =over 4 =item PostgreSQL L =item HyperEstraier L =back =head1 Authors Ivan Klaric C<< >> Dobrica Pavlinusic C<< >> =head1 Licence This extension is released under GPL licence, same as BackupPC.