Bacula no Debian Lenny
Muito tem se falado sobre estabilidade e confiabilidade em backups. Eu particularmente era adepto aos poderosos scripts (shell e batch), mas me rendi às facilidades do Bacula. Vou apresentar detalhadamente todo o processo de instalação e configuração da ferramenta.
Dependências
A instalação ocorreu em um Linux Debian 5 totalmente enxuto, usei o CD netinst e fiz somente a instalação dos pacotes necessários.
# apt-get update
# apt-get install ssh vim openssl make gcc build-essential libssl-dev libpq5 mysql-server libmysql++-dev perl unp apache2 php5 samba mc
Obs.: Durante a instalação do mysql-server ele irá requisitar uma senha, é recomendado que essa senha não seja configurada, porém se achar necessário configurá-la para uma melhor segurança mostrarei como se deve proceder com a configuração do Bacula, com ou sem senha do banco MySQL.
Os fontes foram baixados diretamente do site do Bacula, utilizei um pacote tarball (.gz):
# tar -xzvf bacula-3.0.3.tar.gz -C /opt
# cd /opt/bacula-3.0.3
# ./configure --with-mysql
# make
# make install
# make install-autostart
Esse último comando irá inicializar o Bacula junto com o sistema operacional, o Bacula tem 3 daemons que tem que ser inicializados, são eles:
Criando o banco de dados:
# cd /etc/bacula
# ./create_mysql_database
# ./make_mysql_tables
# ./grant_mysql_privileges
Se você configurou uma senha para o usuário root do banco de dados, deve passá-la em cada um dos scripts acima, no seguinte formato (exemplo, com senha 123):
# ./create_mysql_database -u root -p123
Como eu sou um cara preguiçoso, acredito que todos admin também buscam facilidades, desenvolvi um script para subir e parar o daemon, fica seu critério utilizá-lo.
# touch /etc/init.d/bacula
# chmod + x /etc/init.d/bacula
Cole o conteúdo abaixo dentro deste arquivo.
Agora basta dar o comando "/etc/init.d/bacula restart" para poder ganhar tempo.
# apt-get update
# apt-get install ssh vim openssl make gcc build-essential libssl-dev libpq5 mysql-server libmysql++-dev perl unp apache2 php5 samba mc
Obs.: Durante a instalação do mysql-server ele irá requisitar uma senha, é recomendado que essa senha não seja configurada, porém se achar necessário configurá-la para uma melhor segurança mostrarei como se deve proceder com a configuração do Bacula, com ou sem senha do banco MySQL.
Os fontes foram baixados diretamente do site do Bacula, utilizei um pacote tarball (.gz):
# tar -xzvf bacula-3.0.3.tar.gz -C /opt
# cd /opt/bacula-3.0.3
# ./configure --with-mysql
# make
# make install
# make install-autostart
Esse último comando irá inicializar o Bacula junto com o sistema operacional, o Bacula tem 3 daemons que tem que ser inicializados, são eles:
- bacula-dir
- bacula-fd
- bacula-sd
Criando o banco de dados:
# cd /etc/bacula
# ./create_mysql_database
# ./make_mysql_tables
# ./grant_mysql_privileges
Se você configurou uma senha para o usuário root do banco de dados, deve passá-la em cada um dos scripts acima, no seguinte formato (exemplo, com senha 123):
# ./create_mysql_database -u root -p123
Como eu sou um cara preguiçoso, acredito que todos admin também buscam facilidades, desenvolvi um script para subir e parar o daemon, fica seu critério utilizá-lo.
# touch /etc/init.d/bacula
# chmod + x /etc/init.d/bacula
Cole o conteúdo abaixo dentro deste arquivo.
# Start of BACULA
bacula_start() {
echo "Iniciando BACULA..."
/etc/init.d/bacula-fd start
/etc/init.d/bacula-sd start
/etc/init.d/bacula-dir start
}
bacula_stop() {
for i in `ps ax | grep bacula | grep ? | awk '{print
$1}'`
do
kill -9 $i
done
echo "Parando BACULA..."
}
bacula_restart() {
bacula_stop
sleep 1
bacula_start
}
case "$1" in
'start')
bacula_start
;;
'stop')
bacula_stop
;;
'restart')
bacula_restart
;;
*)
echo
"Use $0 start|stop|restart"
esac
bacula_start() {
echo "Iniciando BACULA..."
/etc/init.d/bacula-fd start
/etc/init.d/bacula-sd start
/etc/init.d/bacula-dir start
}
bacula_stop() {
for i in `ps ax | grep bacula | grep ? | awk '{print
$1}'`
do
kill -9 $i
done
echo "Parando BACULA..."
}
bacula_restart() {
bacula_stop
sleep 1
bacula_start
}
case "$1" in
'start')
bacula_start
;;
'stop')
bacula_stop
;;
'restart')
bacula_restart
;;
*)
echo
"Use $0 start|stop|restart"
esac
Agora basta dar o comando "/etc/init.d/bacula restart" para poder ganhar tempo.
Tentarei implementar aqui.
[]s