16 |
=item * |
=item * |
17 |
|
|
18 |
archive selected backups (per host, share and increment) to archival |
archive selected backups (per host, share and increment) to archival |
19 |
medium (CD, DVD, tape etc.) |
medium (CD, DVD, tape etc.) with rich descriptions, archival locations, |
20 |
|
multiple copies and so on. |
21 |
|
|
22 |
=back |
=back |
23 |
|
|
26 |
This extension is based on PostgreSQL RDBMS and HyperEstraier full-text |
This extension is based on PostgreSQL RDBMS and HyperEstraier full-text |
27 |
search engine (and it's perl bindings). |
search engine (and it's perl bindings). |
28 |
|
|
29 |
So, you will need to install additional packages which is described in |
If you are using Debian, you are in luck. All required packages are |
30 |
following procedure. |
allready part of C<unstable> distribution and can be installed with: |
31 |
|
|
32 |
=over 4 |
# apt-get install postgresql |
33 |
|
# apt-get install hyperestraier libestraier-dev libqdbm-dev |
34 |
|
|
35 |
|
Now you can skip to installation of L<HyperEstraier perl bindings> below. |
36 |
|
|
37 |
=item PostgreSQL installation |
If you don't have pre-packaged binaries for your installation, you will |
38 |
|
need to install additional packages by hand. |
39 |
|
|
40 |
|
=head3 PostgreSQL |
41 |
|
|
42 |
You can use packages provided by your distribution or follow installation |
You can use packages provided by your distribution or follow installation |
43 |
instructions on PostgreSQL site. |
instructions on PostgreSQL site. |
44 |
|
|
45 |
=item QDBM installation |
=head3 QDBM |
46 |
|
|
47 |
First, you need qdbm on which HyperEstraier depends. Installation is simple. |
First, you need qdbm on which HyperEstraier depends. Installation is simple. |
48 |
|
|
52 |
$ make |
$ make |
53 |
$ sudo make install |
$ sudo make install |
54 |
|
|
55 |
=item HyperEstraier installation |
=head3 HyperEstraier |
56 |
|
|
57 |
Also quite simple. |
Also quite simple. |
58 |
|
|
62 |
$ make |
$ make |
63 |
$ sudo make install |
$ sudo make install |
64 |
|
|
65 |
Then you will have to install perl bindings for HyperEstraier. This might take |
Then you will have to install perl bindings for HyperEstraier. |
66 |
a bit more work. You will need to have C<swig> installed beforehand. |
|
67 |
|
=head3 HyperEstraier perl bindings |
68 |
|
|
69 |
|
This might take a bit more work. You will need to have C<swig> and C<g++> installed |
70 |
|
before you can install perl bindings. |
71 |
|
|
72 |
$ tar xvfz hyper_estraier_wrappers-0.0.10.tar.gz |
$ tar xvfz hyper_estraier_wrappers-0.0.10.tar.gz |
73 |
$ cd swig_hest/perl/ |
$ cd swig_hest/perl/ |
91 |
use ExtUtils::MakeMaker; |
use ExtUtils::MakeMaker; |
92 |
WriteMakefile( |
WriteMakefile( |
93 |
NAME => 'HyperEstraier', |
NAME => 'HyperEstraier', |
94 |
LIBS => [sprintf('-lstdc++ %s %s' , `estconfig --libs`)], |
INC => sprintf('%s', `pkg-config --cflags hyperestraier`), |
95 |
|
LIBS => [sprintf('-lstdc++ %s %s' , `pkg-config --libs hyperestraier`)], |
96 |
OBJECT => 'HyperEstraierWrapper.o HyperEstraier_wrap.o' |
OBJECT => 'HyperEstraierWrapper.o HyperEstraier_wrap.o' |
97 |
); |
); |
98 |
|
|
101 |
$ make |
$ make |
102 |
$ sudo make install |
$ sudo make install |
103 |
|
|
104 |
|
=head3 CPAN modules |
105 |
|
|
106 |
|
You will also need a few additional cpan modules |
107 |
|
|
108 |
|
=over 4 |
109 |
|
|
110 |
|
=item File::Pid |
111 |
|
|
112 |
|
=item Spreadsheet::WriteExcel |
113 |
|
|
114 |
=back |
=back |
115 |
|
|
116 |
=head1 Creation of initial data |
Last module, C<Spreadsheet::WriteExcel> is needed only if you want to use |
117 |
|
C<BackupPC_xls_report> to generate Excel reports from your backup data. |
118 |
|
|
119 |
|
Easiest way to install them is using C<cpan> shell. |
120 |
|
|
121 |
|
$ sudo cpan File::Pid Spreadsheet::WriteExcel |
122 |
|
|
123 |
|
=head1 Creation of initial database |
124 |
|
|
125 |
Once you have all components installed, you should initially create data |
Once you have all components installed, you should initially create data |
126 |
about increments in RDBMS and full-text search engine index. |
about increments in RDBMS and full-text search engine index. |
127 |
|
|
128 |
$ sudo -u backuppc /data/backuppc/bin/BackupPC_updatedb |
First, edit C<config.pl> and setup C<SearchDSN> to valid perl DSN (for example, |
129 |
|
C<dbi:Pg:dbname=backuppc> and C<SearchUser> to database user which has priviledges |
130 |
|
over that database. You might need to add additional directives in PostgreSQL's |
131 |
|
C<pg_hba.conf> so that selected user can be connected without password (I know, it's not |
132 |
|
perfect, but I trust local users on backuppc machine). |
133 |
|
|
134 |
|
Then, create new database for backuppc. |
135 |
|
|
136 |
|
$ createdb backuppc |
137 |
|
|
138 |
|
Then invoke C<BackupPC_updatedb> for the first time with argument to create database |
139 |
|
schema: |
140 |
|
|
141 |
|
$ sudo -u backuppc /data/backuppc/bin/BackupPC_updatedb -c |
142 |
|
|
143 |
|
You can also force full-text reindex by C<-i> flag. This will add all files which are in |
144 |
|
database but for some reason are missing in full-text index. |
145 |
|
|
146 |
You can also force full-text reindex by C<-i> flag. |
Now, you can setup cron job which will daily check your backups and update database |
147 |
|
and full-text index. This is as simple as invoking |
148 |
|
|
149 |
B<Documentation is incomplete>. |
/data/backuppc/bin/BackupPC_updatedb |
150 |
|
|
151 |
|
As C<backuppc> user and redirecting output to log file. |
152 |
|
|
153 |
|
B<Documentation is still incomplete>. |
154 |
|
|
155 |
Now that you finished installation, you can select new options from |
Now that you finished installation, you can select new options from |
156 |
menu on the left and example search and archival. |
menu on the left and example search and archival. |
157 |
|
|
158 |
|
=head1 Reporting in Excel |
159 |
|
|
160 |
|
Often, it is useful to be able to present report about your BackupPC hosts, number |
161 |
|
of snapshots, total size and other useful info. While all those information can |
162 |
|
be accessed using web browser, for analysis it's useful to have them in spreadsheet |
163 |
|
form. With this data, you can monitor changes on your backup cycle, effects of changes |
164 |
|
on your server or network to your BackupPC installation and so on. |
165 |
|
|
166 |
|
You can create Excel spreadsheet (which works perfectly with Gnumeric also) using |
167 |
|
following command: |
168 |
|
|
169 |
|
$ sudo -u backuppc /data/backuppc/bin/BackupPC_xls_report |
170 |
|
|
171 |
=head1 Related projects |
=head1 Related projects |
172 |
|
|
173 |
BackupPC allready has archival host which might suit your needs better (and |
BackupPC allready has archival host which might suit your needs better (and |