/[BackupPC]/trunk/doc/Search.pod
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/doc/Search.pod

Parent Directory Parent Directory | Revision Log Revision Log


Revision 303 - (hide annotations)
Sat Jan 28 16:45:46 2006 UTC (18 years, 4 months ago) by dpavlin
File size: 5544 byte(s)
switch to Search::Estraier. Needs more testing for sure!
1 dpavlin 94 =head1 BackupPC search and archival extension
2    
3     BackupPC search and archival extension is used to:
4    
5     =over 4
6    
7     =item *
8    
9     find files in C<pool> by substring of filename
10    
11     =item *
12    
13     see state of one or all of your shares in some particular point in time
14     (file creation date on clients or backup date is supported as filter)
15    
16     =item *
17    
18     archive selected backups (per host, share and increment) to archival
19 dpavlin 105 medium (CD, DVD, tape etc.) with rich descriptions, archival locations,
20     multiple copies and so on.
21 dpavlin 94
22     =back
23    
24     =head2 Requirements
25    
26 dpavlin 303 This extension is based on PostgreSQL RDBMS and Hyper Estraier full-text
27 dpavlin 94 search engine (and it's perl bindings).
28    
29 dpavlin 96 If you are using Debian, you are in luck. All required packages are
30     allready part of C<unstable> distribution and can be installed with:
31 dpavlin 94
32 dpavlin 96 # apt-get install postgresql
33     # apt-get install hyperestraier libestraier-dev libqdbm-dev
34    
35 dpavlin 303 Now you can skip to installation of L<Hyper Estraier perl bindings> below.
36 dpavlin 96
37     If you don't have pre-packaged binaries for your installation, you will
38     need to install additional packages by hand.
39    
40 dpavlin 105 =head3 PostgreSQL
41 dpavlin 94
42     You can use packages provided by your distribution or follow installation
43     instructions on PostgreSQL site.
44    
45 dpavlin 105 =head3 QDBM
46 dpavlin 94
47 dpavlin 303 First, you need qdbm on which Hyper Estraier depends. Installation is simple.
48 dpavlin 94
49     $ tar xvfz qdbm-1.8.31.tar.gz
50     $ cd qdbm-1.8.31
51     $ ./configure --enable-zlib
52     $ make
53     $ sudo make install
54    
55 dpavlin 303 =head3 Hyper Estraier
56 dpavlin 94
57     Also quite simple.
58    
59     $ tar xvfz hyperestraier-0.5.4.tar.gz
60     $ cd hyperestraier-0.5.4
61     $ ./configure
62     $ make
63     $ sudo make install
64    
65 dpavlin 303 Then you will have to install perl bindings for Hyper Estraier.
66 dpavlin 94
67 dpavlin 303 =head3 Hyper Estraier perl bindings
68 dpavlin 105
69 dpavlin 303 Just use C<cpan> shell to install C<Search::Estraier> module
70 dpavlin 105
71 dpavlin 303 $ sudo cpan Search::Estraier
72 dpavlin 94
73 dpavlin 303 There was awaful long procedure about installing perl C bindings, but it's all gone now.
74 dpavlin 94
75 dpavlin 105 =head3 CPAN modules
76    
77     You will also need a few additional cpan modules
78    
79     =over 4
80    
81     =item File::Pid
82 dpavlin 235 =item File::Which
83     =item File::Path
84     =item File::Slurp
85 dpavlin 303 =item Search::Estraier
86 dpavlin 105
87 dpavlin 108 =item Spreadsheet::WriteExcel
88    
89 dpavlin 177 =item Term::Menus
90 dpavlin 198 =item XML::Writer
91 dpavlin 217 =item Algorithm::Diff
92     =item Archive::Tar::Stream
93 dpavlin 177
94 dpavlin 94 =back
95    
96 dpavlin 108 Last module, C<Spreadsheet::WriteExcel> is needed only if you want to use
97     C<BackupPC_xls_report> to generate Excel reports from your backup data.
98    
99 dpavlin 105 Easiest way to install them is using C<cpan> shell.
100 dpavlin 94
101 dpavlin 303 $ sudo cpan File::Pid Spreadsheet::WriteExcel ...
102 dpavlin 105
103     =head1 Creation of initial database
104    
105 dpavlin 94 Once you have all components installed, you should initially create data
106     about increments in RDBMS and full-text search engine index.
107    
108 dpavlin 105 First, edit C<config.pl> and setup C<SearchDSN> to valid perl DSN (for example,
109     C<dbi:Pg:dbname=backuppc> and C<SearchUser> to database user which has priviledges
110     over that database. You might need to add additional directives in PostgreSQL's
111     C<pg_hba.conf> so that selected user can be connected without password (I know, it's not
112     perfect, but I trust local users on backuppc machine).
113 dpavlin 94
114 dpavlin 105 Then, create new database for backuppc.
115 dpavlin 94
116 dpavlin 105 $ createdb backuppc
117 dpavlin 94
118 dpavlin 105 Then invoke C<BackupPC_updatedb> for the first time with argument to create database
119     schema:
120    
121     $ sudo -u backuppc /data/backuppc/bin/BackupPC_updatedb -c
122    
123     You can also force full-text reindex by C<-i> flag. This will add all files which are in
124     database but for some reason are missing in full-text index.
125    
126     Now, you can setup cron job which will daily check your backups and update database
127     and full-text index. This is as simple as invoking
128    
129     /data/backuppc/bin/BackupPC_updatedb
130    
131     As C<backuppc> user and redirecting output to log file.
132    
133     B<Documentation is still incomplete>.
134    
135 dpavlin 94 Now that you finished installation, you can select new options from
136     menu on the left and example search and archival.
137    
138 dpavlin 108 =head1 Reporting in Excel
139    
140     Often, it is useful to be able to present report about your BackupPC hosts, number
141     of snapshots, total size and other useful info. While all those information can
142     be accessed using web browser, for analysis it's useful to have them in spreadsheet
143     form. With this data, you can monitor changes on your backup cycle, effects of changes
144     on your server or network to your BackupPC installation and so on.
145    
146     You can create Excel spreadsheet (which works perfectly with Gnumeric also) using
147     following command:
148    
149     $ sudo -u backuppc /data/backuppc/bin/BackupPC_xls_report
150    
151 dpavlin 177 =head1 Additional requirements
152    
153     You will also need several other command-line utilities to make
154     C<BackupPC_burnArchiveCLI> run. Those include:
155    
156     =over 4
157    
158     =item mkisofs
159    
160 dpavlin 199 =item cdrecord
161    
162     Or equivavalent utility, on Debian you might want to use C<dvdrecord>.
163    
164     =item eject
165    
166 dpavlin 204 Please make a symlink from C</dev/cdrom> to you CD/DVD burner.
167    
168 dpavlin 199 =item split
169    
170 dpavlin 177 =back
171    
172 dpavlin 255 =head1 Troubleshoting
173 dpavlin 177
174 dpavlin 255 =head2 md5sum problems on Debian
175    
176     If you are running Debian stable and expiriencing error message like
177    
178     -: No such file or directory
179    
180     your C<md5sum> comes from C<coreutils> (which doesn't know how to handle C<->
181     as input) as opposed to C<md5sum> which comes with C<textutils> (which does).
182    
183     Fix is simple, correct md5sum is allready installed, you just have to do:
184    
185     sudo cp /usr/bin/md5sum.textutils /usr/bin/md5sum
186    
187 dpavlin 94 =head1 Related projects
188    
189     BackupPC allready has archival host which might suit your needs better (and
190     it's quite easier to install).
191    
192     =over 4
193    
194     =item PostgreSQL
195    
196     L<http://www.postgresql.org/>
197    
198     =item HyperEstraier
199    
200     L<http://hyperestraier.sourceforge.net/>
201    
202     =back
203    
204     =head1 Authors
205    
206     Ivan Klaric C<< <iklaric@gmail.com> >>
207    
208     Dobrica Pavlinusic C<< <dpavlin@rot13.org> >>
209    
210     =head1 Licence
211    
212     This extension is released under GPL licence, same as BackupPC.
213    

  ViewVC Help
Powered by ViewVC 1.1.26