Instalação Bacula 7.4.4 e Webmin - Ubuntu Server 16.04
Dica publicada em Linux / Backup
Instalação Bacula 7.4.4 e Webmin - Ubuntu Server 16.04
Instalando dependências, MySQL e PostFix:
# apt-get update
# apt-get install gcc build-essential libssl-dev libmysql++-dev mysql-server postfix libreadline6-dev pkg-config libmysqld-dev libdbd-mysql-perl perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
Pasta para backup:
# mkdir /mnt/backup
# chmod 777 /mnt/backup
Baixando Bacula:
# wget http://sourceforge.net/projects/bacula/files/bacula/7.4.4/bacula-7.4.4.tar.gz
# tar -zxvf bacula-7.4.4.tar.gz
Configurando antes de compilar:
# cp -v /usr/include/readline/* "PastaOndeDescompactado"/bacula-7.4.4/src/console/
# sed -i 's/MYSQL_LIBS =/MYSQL_LIBS = \/usr\/lib\/x86_64-linux-gnu\/libmysqlclient.a/g' "PastaOndeDescompactado"/bacula-7.4.4/src/cats/Makefile.in
Compilando Bacula:
# ./configure --with-readline=/usr/include/readline --disable-conio --bindir=/usr/bin --sbindir=/usr/sbin --with-scriptdir=/usr/libexec/bacula/ --with-working-dir=/var/spool/bacula/ --with-logdir=/var/log --enable-smartalloc --with-mysql --with-archivedir=/mnt/backup --with-job-email=email@dominio.com.br
# make
# make install
Iniciando o MySQL:
# /etc/init.d/mysql start
Criando usuário Bacula para banco de dados:
# mysql -u root -p
mysql> CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'SENHA';
mysql> FLUSH PRIVILEGES;
mysql> quit
Criando bando de dados do Bacula:
# cd /etc/bacula
# ./create_bacula_database -u root -p
# ./make_bacula_tables -u root -p
# ./grant_bacula_privileges -u root -p
Obs.: no "grant_b...", ele vai pedir para colocar a senha do usuário "bacula", é só repetir a mesma criada anteriormente.
Dando privilégio ao usuário Bacula ao banco de dados Bacula:
# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON bacula.* TO 'bacula'@'localhost' IDENTIFIED BY 'SENHA';
mysql> FLUSH PRIVILEGES;
mysql> quit
Configurando o Bacula para usar o banco de dados:
# nano bacula-dir.conf
Procurar por:
Colocando o Bacula na inicialização do sistema:
# cp -av /etc/bacula/bacula /etc/init.d/bacula
# update-rc.d bacula defaults
# /etc/init.d/bacula start
Acessando o Bacula via terminal:
# bconsole
Instalando o Webmin (para gerenciar o Bacula):
# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.820_all.deb
# dpkg --install webmin_1.820_all.deb
Editando arquivo Hosts (essa opção só deve ser usada, caso você não tenha um servidor DNS):
# nano /etc/hosts
Chave de regedit para Windows (só faz backup com essa informação):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wbengine\SystemStateBackup]
"AllowSSBToAnyVolume"=dword:00000001
Gerar senha (caso seja necessário):
# apt-get install makepasswd
Ex.:
# makepasswd --chars=32
(32 representa o número de caracteres)
Configuração para gravar em fita LTO (essa configuração não é importante caso o backup seja feito em disco):
# apt-get update
# apt-get install gcc build-essential libssl-dev libmysql++-dev mysql-server postfix libreadline6-dev pkg-config libmysqld-dev libdbd-mysql-perl perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
Pasta para backup:
# mkdir /mnt/backup
# chmod 777 /mnt/backup
Baixando Bacula:
# wget http://sourceforge.net/projects/bacula/files/bacula/7.4.4/bacula-7.4.4.tar.gz
# tar -zxvf bacula-7.4.4.tar.gz
Configurando antes de compilar:
# cp -v /usr/include/readline/* "PastaOndeDescompactado"/bacula-7.4.4/src/console/
# sed -i 's/MYSQL_LIBS =/MYSQL_LIBS = \/usr\/lib\/x86_64-linux-gnu\/libmysqlclient.a/g' "PastaOndeDescompactado"/bacula-7.4.4/src/cats/Makefile.in
Compilando Bacula:
# ./configure --with-readline=/usr/include/readline --disable-conio --bindir=/usr/bin --sbindir=/usr/sbin --with-scriptdir=/usr/libexec/bacula/ --with-working-dir=/var/spool/bacula/ --with-logdir=/var/log --enable-smartalloc --with-mysql --with-archivedir=/mnt/backup --with-job-email=email@dominio.com.br
# make
# make install
Iniciando o MySQL:
# /etc/init.d/mysql start
Criando usuário Bacula para banco de dados:
# mysql -u root -p
mysql> CREATE USER 'bacula'@'localhost' IDENTIFIED BY 'SENHA';
mysql> FLUSH PRIVILEGES;
mysql> quit
Criando bando de dados do Bacula:
# cd /etc/bacula
# ./create_bacula_database -u root -p
# ./make_bacula_tables -u root -p
# ./grant_bacula_privileges -u root -p
Obs.: no "grant_b...", ele vai pedir para colocar a senha do usuário "bacula", é só repetir a mesma criada anteriormente.
Dando privilégio ao usuário Bacula ao banco de dados Bacula:
# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON bacula.* TO 'bacula'@'localhost' IDENTIFIED BY 'SENHA';
mysql> FLUSH PRIVILEGES;
mysql> quit
Configurando o Bacula para usar o banco de dados:
# nano bacula-dir.conf
Procurar por:
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = "SENHA"
}
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:mysql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = "SENHA"
}
Colocando o Bacula na inicialização do sistema:
# cp -av /etc/bacula/bacula /etc/init.d/bacula
# update-rc.d bacula defaults
# /etc/init.d/bacula start
Acessando o Bacula via terminal:
# bconsole
Instalando o Webmin (para gerenciar o Bacula):
# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.820_all.deb
# dpkg --install webmin_1.820_all.deb
Editando arquivo Hosts (essa opção só deve ser usada, caso você não tenha um servidor DNS):
# nano /etc/hosts
XXX.XXX.XXX.XXX srvbacula XXX.XXX.XXX.XXX win2012
Chave de regedit para Windows (só faz backup com essa informação):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wbengine\SystemStateBackup]
"AllowSSBToAnyVolume"=dword:00000001
Gerar senha (caso seja necessário):
# apt-get install makepasswd
Ex.:
# makepasswd --chars=32
(32 representa o número de caracteres)
Configuração para gravar em fita LTO (essa configuração não é importante caso o backup seja feito em disco):
######## bacula-dir.conf ########
Storage {
Name = Autochanger
Address = srvbacula
SDPort = 9103
Password = "SENHA"
Device = Tape
Autochanger = yes
Media Type = LT0
}
######## bacula-sd.conf ########
# Dispositivo LTO-5 tape drive
#
Autochanger {
Name = Tape
Device = LTO-5
Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/sg2
}
Device {
Name = LTO-5
Media Type = LTO-5
Archive Device = /dev/st0
AutomaticMount = yes;
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Maximum File Size = 5GB
}
# Regras para FireWall ( Caso seja necessário)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9101 -j ACCEPT #(Porta do DIR)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT #(Porta do FD)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9103 -j ACCEPT #(Porta do SD)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT #(Porta do WEBMIN)
Storage {
Name = Autochanger
Address = srvbacula
SDPort = 9103
Password = "SENHA"
Device = Tape
Autochanger = yes
Media Type = LT0
}
######## bacula-sd.conf ########
# Dispositivo LTO-5 tape drive
#
Autochanger {
Name = Tape
Device = LTO-5
Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
Changer Device = /dev/sg2
}
Device {
Name = LTO-5
Media Type = LTO-5
Archive Device = /dev/st0
AutomaticMount = yes;
AlwaysOpen = yes;
RemovableMedia = yes;
RandomAccess = no;
AutoChanger = yes
Maximum File Size = 5GB
}
# Regras para FireWall ( Caso seja necessário)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9101 -j ACCEPT #(Porta do DIR)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9102 -j ACCEPT #(Porta do FD)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9103 -j ACCEPT #(Porta do SD)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT #(Porta do WEBMIN)