3 # This script dumps your Bacula catalog in ASCII format
4 # It works for MySQL, SQLite, and PostgreSQL
6 # $1 is the name of the database to be backed up and the name
7 # of the output file (default = bacula).
8 # $2 is the user name with which to access the database
10 # $3 is the password with which to access the database or "" if no password
11 # (default ""). WARNING!!! Passing the password via the command line is
12 # insecure and should not be used since any user can display the command
13 # line arguments and the environment using ps. Please consult your
14 # MySQL or PostgreSQL manual for secure methods of specifying the
16 # $4 is the host on which the database is located
24 if test xsqlite = x@DB_TYPE@ ; then
25 echo ".dump" | ${BINDIR}/sqlite $1.db >$1.sql
27 if test xmysql = x@DB_TYPE@ ; then
28 if test $# -gt 2; then
29 MYSQLPASSWORD=" --password=$3"
33 if test $# -gt 3; then
34 MYSQLHOST=" --host=$4"
38 ${BINDIR}/mysqldump -u ${2}${MYSQLPASSWORD}${MYSQLHOST} -f --opt $1 >$1.sql
40 if test xpostgresql = x@DB_TYPE@ ; then
41 if test $# -gt 2; then
45 if test $# -gt 3; then
50 # you could also add --compress for compression. See man pg_dump
51 exec ${BINDIR}/pg_dump -c $PGHOST -U $2 $1 >$1.sql
53 echo ".dump" | ${BINDIR}/sqlite3 $1.db >$1.sql
58 # To read back a MySQL database use:
60 # rm -f ${BINDIR}/../var/bacula/*
63 # To read back a SQLite database use:
66 # sqlite bacula.db <bacula.sql
68 # To read back a PostgreSQL database use:
71 # createdb bacula -T template0 -E SQL_ASCII
72 # psql bacula <bacula.sql