Wednesday, 2 September 2009

Reset Bacula database and files


Today I need to purge my bacula for several reasons.

Here is how I did.

First backup the database and files used in your previous setup, one never knows you might actually need it after the purge...

/usr/bin/mysqldump -aecqQ bacula > bacula_before_purge.sql


and copy the volumes and bsr files.


Stop bacula :

service bacula-director stop
service bacula-fd       stop
service bacula-sd       stop


then :

mysql -u root -p
drop database bacula;
create database bacula;
quit


next we need to recreate bacula tables. There's a bacula script to do that, but the file needs to be changed to set the correct database name.

cp /usr/share/bacula-director/make_mysql_tables ~/
vi ~/make_mysql_tables

change XXX_DBNAME_XXX by your bacula database (let's say 'bacula')
save and exit.

then run as root the script
~/make_mysql_tables


it should have recreated the tables :
mysql -u root -p
use bacula;
show tables;
+------------------+
| Tables_in_bacula |
+------------------+
| BaseFiles        |
| CDImages         |
| Client           |
| Counters         |
| Device           |
| File             |
| FileSet          |
| Filename         |
| Job              |
| JobMedia         |
| Location         |
| LocationLog      |
| Log              |
| Media            |
| MediaType        |
| Path             |
| Pool             |
| Status           |
| Storage          |
| UnsavedFiles     |
| Version          |
+------------------+
21 rows in set (0.00 sec)
quit


next you need to delete the existing volume and bsr files.
In my case I just change the location of the bacup (bacula-sd.conf 'Archive Device')

restart your bacula services and run a job to check everything is OK.
service bacula-director start
service bacula-fd       start
service bacula-sd       start 


Image from http://www.everaldo.com/