You are on page 1of 16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

ImplantandoumServidordeBackupcomBaculaDebianSqueeze
Autor:DanielLaraSouza<daniellarasouzaatyahoo.com.br>
Data:09/04/2012
IntroduoeInstalao

introduo
Nesteartigo,vamosfazerainstalaodoBaculaeasuautilizao,ondevamosefetuarBackuperestaur
lo.
OqueoBacula?
"umconjuntodeprogramasquepermiteadministrarBackup,restauraeseverificaodosdadosde
computadoresemumarededesistemasvariados."
UmpoucosobreoBacula:
EstruturalclienteServidor
EstruturalModular(Diretor,Client,Database,ConsoleAdministrao)
CompatvelcomWindows,Linux,MaceBSD
FartaDocumentaodisponvelnaInternetetambmaquimesmono'VivaoLinux'
Inmeroscanaisdesuporte(Listas,fruns,IRC)
Permiteexecuesdescripts,antes/depoisdoinciodojob
Suportemaioriadosdispositivosdestoragedomercado
Infinidadederecursosparaacustomizaodebackups.

InstalandooBacula
Bom,vamosdiretoaoqueinteressa.
ComovamoscompilaraltimaversodoBacula,vamosinstalaro"buildessential":
#aptgetinstallbuildessentialvim
AgoravamosinstalaroMySQL:
#aptgetinstallmysqlclientmysqlcommonmysqlserver5.1mysqlservercore5.1libmysqlddev
BaixeaultimaversodoBacula(nessecaso,5.2.6):
#wgethttp://downloads.sourceforge.net/project/bacula/bacula/5.2.6/bacula5.2.6.tar.gz
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

1/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

VamosdescompactareinstalaroBacula
Paradescompactar:
#tarzxvfbacula5.2.6.tar.gz
Useocomandoabaixo,paraverificarosparmetros:
#./configurehelp
ComoestamosusandooMySQLcomobancodedados,vamosusarassim:
#./configurewithmysql
#make
#makeinstall
Agora,vamosajustaroserviodoBacula.Copieoarquivo:
#cpav/etc/bacula/bacula/etc/init.d/
EvamosverseestOK:
#invokerc.dbaculastatus
baculasdisstopped
baculafdisstopped
baculadirisstopped
Eugostodeusaro"sysvrcconf"ejcolocooBaculanainicializaodoservidor,vejaaDica:Instalando
SysvrcconfnoDebianSqueeze
Pronto,oBaculaestinstalado.

ConfigurandooBacula
Aposainstalao,vamosconfiguraroBaculaparaefetuarnosso1Backup.
VamosaodiretriodoBacula:
#cd/etc/bacula
Vamoscriareajudarabasededados.Useoscomandos:
#./create_bacula_databaseurootp
#./make_bacula_tablesurootp
#./grant_bacula_privilegesurootp
Onde:
u:Informaousuriodobanco
root:ousurio
p:asenhaquevaisolicitar.
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

2/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Agora,vamosajustarasconfiguraesparaoBaculaefetuaro1Backup.
EfetueoBackupdoarquivodo"baculadir.conf":
#cpavbaculadir.confbaculadir.conf.bkp
VamosadicionarumJobno"baculadir.conf",deixeexatamenteassim:
#cat/etc/bacula/baculadir.conf
Director{
#NomedoDiretor
Name=baculadir
#Portapadro
DIRport=9101
#Comandopersonalizadosdeconsultas
QueryFile="/etc/bacula/query.sql"
#Diretriodetrabalhodobacula
WorkingDirectory="/var/bacula/working"
#DiretriodosprocessosdoBacula
PidDirectory="/var/run"
#NmeroMximodejobssimultneos
MaximumConcurrentJobs=3
#Senha,quetambmqueserconfiguradonobconsole.conf
Password="SmOarbwn9YUvQY6deguo2I8WH08jQH0eh2PjeC18f/v0"
#Ondevaiasmessagesgenricasdobacula
Messages=Daemon
}

#Includeondeficamaisfcil
#umdiretoriosomentecomosconfdoclientesdobacula
#comotemvriosservidoresporquestodeorganizao
#vamoscriarumaconfparacadacliente
@|"shc'cat/etc/bacula/clientes/*.conf'"

#Genericcatalogservice
Catalog{
Name=MyCatalog
#Uncommentthefollowinglineifyouwantthedbidriver
#dbdriver="dbi:mysql";dbaddress=127.0.0.1;dbport=
dbname="bacula";dbuser="root";dbpassword="12345"
}

#Reasonablemessagedeliverysendmosteverythingtoemailaddress
#andtotheconsole
Messages{
Name=Standard
mailcommand="/sbin/bsmtphlocalhostf\"\(Bacula\)\<%r\>\"s
\"Bacula:%t%eof%c%l\"%r"
operatorcommand="/sbin/bsmtphlocalhostf\"\(Bacula\)\<%r\>\"s
\"Bacula:Interventionneededfor%j\"%r"
mail=root@localhost=all,!skipped
operator=root@localhost=mount
console=all,!skipped,!saved
#
append="/var/bacula/working/log"=all,!skipped
catalog=all
}

#
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

3/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

#Messagedeliveryfordaemonmessages(nojob).
Messages{
Name=Daemon
mailcommand="/sbin/bsmtphlocalhostf\"\(Bacula\)\<%r\>\"s
\"Baculadaemonmessage\"%r"
mail=root@localhost=all,!skipped
console=all,!skipped,!saved
append="/var/bacula/working/log"=all,!skipped
}

Console{
Name=baculamon
Password="fG0kBPsk3i79XJM4pV2enjGCKZ1wXO7OOXZKNeeseI4k"
CommandACL=status,.status
}

Agoravamosvero"baculasd".EfetueumBackupdoarquivo:
#cpavbaculasd.confbaculasd.conf.bkp
Eucrieiumdiretriochamado"backup",ondevamosjogarosBackupdoBacula:
#mkdir/backup
ComovamosfazerBackupdevriosServidores,iremoscriartambm,diretriosparacadaservidor.Mas,
comovamosfazersomentedeumServidordoBacula,porenquantovamoscriarsomenteeste,eaolongo,
vamoscriandomais.
CriandoodiretriodeBackupdoServidordoBacula:
#mkdir/backup/bacula
Eficouassim:
#cat/etc/bacula/baculasd.conf
Storage{
Name=baculasd
SDPort=9103
WorkingDirectory="/var/bacula/working"
PidDirectory="/var/run"
MaximumConcurrentJobs=20
}

#
#ListDirectorswhoarepermittedtocontactStoragedaemon
#
Director{
Name=baculadir
Password="do9uoBD79ZUkx6eAoTLLHSjTzbK5lEq/3lL7BVAXL4Nz"
}

#
#RestrictedDirector,usedbytraymonitortogetthe
#statusofthestoragedaemon
#
Director{
Name=baculamon
Password="rP2btPJoYTRns9BiMe98B1v3VMFItKVCkIgxnbN0POCp"
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

4/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Monitor=yes
}

Device{
Name=bacula
MediaType=File
ArchiveDevice=/backup/bacula
LabelMedia=yes;
RandomAccess=Yes;
AutomaticMount=yes;
RemovableMedia=no;
AlwaysOpen=no;
}

Messages{
Name=Standard
director=baculadir=all
}

Bom,aolongo,quandovamosadicionarmaisclientesnestesarquivosquevamosinformarondeser
armazenadooBackup.
Agora,vamosconfiguraroclientedoBaculaparapodemosefetuarnosso1Backup.
EfetueoBackupdoarquivo:
#cpavbaculafd.confbaculafd.conf.bkp
Director{
Name=baculadir
Password="UfJ+vunYR0QU5mW5KwxYbuUQTl1aUQy49q+y6ih8W1Kw"
}

#
#RestrictedDirector,usedbytraymonitortogetthe
#statusofthefiledaemon
#
Director{
Name=baculamon
Password="TPxsyqgOFHaOf1k/yZpUwvSTkuYlOX5mj2FdCbZRwHnq"
Monitor=yes
}

#
#"Global"Filedaemonconfigurationspecifications
#
FileDaemon{#thisisme
Name=baculafd
FDport=9102#wherewelistenforthedirector
WorkingDirectory=/var/bacula/working
PidDirectory=/var/run
MaximumConcurrentJobs=20
}

#SendallmessagesexceptskippedfilesbacktoDirector
Messages{
Name=Standard
director=baculadir=all,!skipped,!restored
}

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

5/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Bom,agorao"baculadir","baculasd"eo"baculafd",estoOK.
Vamoscriaro"conf"doclientecomoJOB,POOL,SCHEDULE.ComousamosoIncludeno"bacula
dir.conf",ondeocaminho"/etc/bacula/clientes/",vamoscriarumarquivocomonomede"bacula.conf".
Criandoodiretrio"clientes":
#mkdir/etc/bacula/clientes
Agora,vamoscriaroarquivodo"bacula.conf":
#vim/etc/bacula/clientes/bacula.conf
#JOB
Job{
Name="Bacula"
Type=Backup
Level=FULL
Client=baculafd
FileSet="Bacula"
Schedule="Bacula"
Storage=bacula
Messages=Standard
Pool=baculadiario
Priority=10
WriteBootstrap="/var/bacula/bacula.bsr"
}

#JOBRESTORE
Job{
Name="BaculaRestore"
Type=Restore
Client=baculafd
FileSet="Bacula"
Storage=bacula
Pool=baculadiario
Messages=Standard
Where=/tmp/bacularestores
}
#FILESET
FileSet{
Name="Bacula"
Include{
Options{
signature=MD5
}
File=/etc
}
}
#CLIENT
Client{
Name=baculafd
Address=192.168.25.18
FDPort=9102
Catalog=MyCatalog
Password="UfJ+vunYR0QU5mW5KwxYbuUQTl1aUQy49q+y6ih8W1Kw"
FileRetention=30days
JobRetention=6months
AutoPrune=yes
}
Storage{
Name=bacula
Address=192.168.25.18
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

6/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

SDPort=9103
Password="do9uoBD79ZUkx6eAoTLLHSjTzbK5lEq/3lL7BVAXL4Nz"
Device=bacula
MediaType=File
}
Schedule{
Name="Bacula"
Run=Fullsunsatat23:10
}
#POOL
Pool{
Name=baculadiario
PoolType=Backup
Recycle=yes
#BaculacanautomaticallyrecycleVolumes
AutoPrune=yes
VolumeRetention=365days
}

Agora,vamosiniciarserviodoBaculaevamosefetuaronosso1Backup:
#invokerc.dbaculastart
VamosusaroBCONSOLE,umconsoledegerenciamentodoBacula:
#bconsole
AoacessaroBCONSOLE,oShellficarassim:
ConnectingtoDirectorbacula:9101
1000OK:baculadirVersion:5.2.6(21February2012)
Enteraperiodtocancelacommand.
*
Issomesmo,como'*'nafrente.UsandoocomandoHELP,vocverasopes.
Vamosaoqueinteressa,vamosefetuaroBackup.Masantes,vamoscriarovolumeeassociaraPOOL:
Useocomando'add':
*add
EnternumberofVolumestocreate.0=>fixedname.Max=1000:
coloque0(Zero)
EnterVolumename:
ComoestaremosefetuandooBackupdoprprioBacula,entoonomepodeser:bacula
sdigitarocomandorunnoterminalepronto,eleirefetuaroBackup.
Comomostraaimagemabaixo:

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

7/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

AdicionadoumClienteWindows2003
Bom,agoravamosadicionarumclienteWindows2003parapodermosefetuarBackup.
BaixeoBaculaparaWindows:
http://sourceforge.netBaculaWin32
Obs.:Temversopara32e64Bits.
Eainstalao,apadroNNF(next,next,finish).
Osarquivosficamem:C:\ProgramFiles\Bacula
Eagora,ajudaro"baculadf.conf"queestnestediretrio.Oarquivoficaassim:
#
#DefaultBaculaFileDaemonConfigurationfile
#
#ForBacularelease5.2.6(02/21/12)WindowsMinGW32
#
#Thereisnotmuchtochangehereexceptperhapsthe
#FiledaemonName
#

#
#"Global"Filedaemonconfigurationspecifications
#
FileDaemon{#thisisme
Name=win2003fd
FDport=9102#wherewelistenforthedirector
WorkingDirectory="C:\\ProgramFiles\\Bacula\\working"
PidDirectory="C:\\ProgramFiles\\Bacula\\working"
#PluginDirectory="C:\\ProgramFiles\\Bacula\\plugins"
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

8/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

MaximumConcurrentJobs=10
}

#
#ListDirectorswhoarepermittedtocontactthisFiledaemon
#
Director{
Name=baculadir
Password="nlwDE6OKPQQeYi2q9VocXYIDQXMOUPx3/Te9bzSQfY7N"
}

#
#RestrictedDirector,usedbytraymonitortogetthe
#statusofthefiledaemon
#
Director{
Name=win2003mon
Password="SLtfDd+pWj+SMNDxJMWbSxZAoTD20IQtlePKxc2JuXu1"
Monitor=yes
}

#SendallmessagesexceptskippedfilesbacktoDirector
Messages{
Name=Standard
director=baculadir=all,!skipped,!restored
}

OclienteestinstaladoeconfiguradonoWindows.
Vamosagoraconfiguraroseu".conf"nodiretriodoclientes.Masantes,vamoscriarodiretrioondeser
armazenadooseuBackup:
#mkdir/backup/win2003
Eagora,oseu"baculasd.conf"temqueficarassim:
Storage{
Name=baculasd
SDPort=9103
WorkingDirectory="/var/bacula/working"
PidDirectory="/var/run"
MaximumConcurrentJobs=20
}

#
#ListDirectorswhoarepermittedtocontactStoragedaemon
#
Director{
Name=baculadir
Password="do9uoBD79ZUkx6eAoTLLHSjTzbK5lEq/3lL7BVAXL4Nz"
}

#
#RestrictedDirector,usedbytraymonitortogetthe
#statusofthestoragedaemon
#
Director{
Name=baculamon
Password="rP2btPJoYTRns9BiMe98B1v3VMFItKVCkIgxnbN0POCp"
Monitor=yes
}
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

9/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Device{
Name=bacula
MediaType=File
ArchiveDevice=/backup/bacula
LabelMedia=yes;
RandomAccess=Yes;
AutomaticMount=yes;
RemovableMedia=no;
AlwaysOpen=no;
}
Device{
Name=win2003
MediaType=File
ArchiveDevice=/backup/win2003
LabelMedia=yes;
RandomAccess=Yes;
AutomaticMount=yes;
RemovableMedia=no;
AlwaysOpen=no;
}

Messages{
Name=Standard
director=baculadir=all
}

Vamosajustaro".conf",comojtemosum,vamossomentecopiareleepronto:
#cpavbacula.confwin2003.conf
Evamosalteraroarquivoo"win2003.conf",ondeficaexatamenteassim:
#JOB
Job{
Name="Win2003"
Type=Backup
Level=FULL
Client=win2003fd
FileSet="Win2003"
Schedule="Win2003"
Storage=win2003
Messages=Standard
Pool=win2003diario
Priority=10
WriteBootstrap="/var/bacula/bacula.bsr"
}

#JOBRESTORE
Job{
Name="Win2003Restore"
Type=Restore
Client=win2003fd
FileSet="Win2003"
Storage=win2003
Pool=win2003diario
Messages=Standard
Where=/tmp/bacularestores
}
#FILESET
FileSet{
Name="Win2003"
Include{
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

10/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Options{
signature=MD5
}
File=c:/teste
}
}
#CLIENT
Client{
Name=win2003fd
Address=192.168.25.14
FDPort=9102
Catalog=MyCatalog
Password="nlwDE6OKPQQeYi2q9VocXYIDQXMOUPx3/Te9bzSQfY7N"
FileRetention=30days
JobRetention=6months
AutoPrune=yes
}
Storage{
Name=win2003
Address=192.168.25.18
SDPort=9103
Password="do9uoBD79ZUkx6eAoTLLHSjTzbK5lEq/3lL7BVAXL4Nz"
Device=win2003
MediaType=File
}
Schedule{
Name="Win2003"
Run=Fullsunsatat23:10
}
#POOL
Pool{
Name=win2003diario
PoolType=Backup
Recycle=yes
#BaculacanautomaticallyrecycleVolumes
AutoPrune=yes
VolumeRetention=365days
}

Reinicieoservio,evamosexecutaroBackup.

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

11/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

EfetuandoRestoredosServidores
Bom,comojefetuamosBackupdosServidoresWindowseLinux,vamosparaamelhorparte:oRestore.
Paradizerqueest100%funcionando,temquefazeroRestoretambm,senooBackupnoestar100%.
Vamosl.
NoBCONSOLEpararestaurarumBackup,vamosusarocomando'restore':
*restore
Eiraparecerassim:
ToselecttheJobIds,youhavethefollowingchoices:
1:Listlast20Jobsrun
2:ListJobswhereagivenFileissaved
3:EnterlistofcommaseparatedJobIdstoselect
4:EnterSQLlistcommand
5:Selectthemostrecentbackupforaclient
6:Selectbackupforaclientbeforeaspecifiedtime
7:Enteralistoffilestorestore
8:Enteralistoffilestorestorebeforeaspecifiedtime
9:FindtheJobIdsofthemostrecentbackupforaclient
10:FindtheJobIdsforabackupforaclientbeforeaspecifiedtime
11:EnteralistofdirectoriestorestoreforfoundJobIds
12:SelectfullrestoretoaspecifiedJobdate
13:Cancel
Nestecaso,iraparecerdiversasopesparaoRestore.Euusosemprea1opo,queirmostrarsempre
osltimosBackuprealizados.
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

12/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Vouselecionara1opo,ondeirmemostrar:
Selectitem:(113):1
++++++
+
|JobId|Client|StartTime|JobLevel|JobFiles|
JobBytes|
++++++
+
|5|baculafd|2012033023:10:01|F|1292|
1709053|
|6|win2003fd|2012033023:10:01|F|6|
367863285|
|4|win2003fd|2012033011:46:43|F|6|
367863285|
|3|baculafd|2012033010:42:48|F|1291|
1707749|
|2|baculafd|2012033010:41:57|F|1291|
1707749|
++++++
+

Eselecionoaopo12,ondeirmesolicitaro'jobID'doBackup:
Selectitem:(113):12
EnterJobIdtogetthestatetorestore:
Nestecaso,vouselecionaro:jobID5
Aoselecionar,iraparecer:
BuildingdirectorytreeforJobId(s)5...
+++++++++++++++++++++++++++++++++++++++++++++
1,183filesinsertedintothetree.
Youarenowenteringfileselectionmodewhereyouadd(mark)and
remove(unmark)filestoberestored.Nofilesareinitiallyadded,unless
youusedthe"all"keywordonthecommandline.
Enter"done"toleavethismode.
cwdis:/
$
Issomesmo,umoutroconsole,ondepossonavegarentreosdiretriosdoBackupcomocomandocd.Isso
mesmo,algunscomandosdoLinuxfuncionam,como:'cd','ls',etc.
Aodigitar'ls',irmeinformarodiretrio,ouosdiretrios,queforamparaoBackup:
$ls
etc/
$
Pararestaurartodoodiretriodo"etc",vamosusarocomando'mark':
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

13/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

$mark*
1,292filesmarked.
$ls
*etc/
$
Elemarcouodiretrio"etc",masvoctambmpodeusarocomando:mark"nomedoarquivooudiretrio
"
...Eusandoo'*',irmarcartodososarquivosediretrios.
Agora,useocomando'done'parasairerestauraroBackup.
Bootstraprecordswrittento/var/bacula/working/baculadir.restore.1.bsr

Thejobwillrequirethefollowing<br>
Volume(s)Storage(s)SDDevice(s)<br>
===========================================================================

baculabacula
bacula

Volumesmarkedwith"*"areonline.

1,292filesselectedtoberestored.

ThedefinedRestoreJobresourcesare:
1:BaculaRestore
2:Win2003Restore
SelectRestoreJob(12):1

Iraparecerestaopo,comoestamosrestaurandooBackupdoLinux,vamosusaro'jobrestore'doLinux
na1opo.
DefinedClients:
1:baculafd
2:win2003fd
SelecttheClient(12):1

Aqui,ograndelance!PodemosrestauraroBackupdoLinuxnoServidordoWindows.Algunschamamde
restauraocruzada,nestecaso,comovamosfazernoLinux,usamosa1opo.
Elogodigite:yes
SelecttheClient(12):1
RunRestorejob<
JobName:BaculaRestore
Bootstrap:/var/bacula/working/baculadir.restore.1.bsr
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

14/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

Where:/tmp/bacularestores
Replace:always
FileSet:Bacula
BackupClient:baculafd
RestoreClient:baculafd
Storage:bacula
When:2012033119:26:51
Catalog:MyCatalog
Priority:10
PluginOptions:*None*
OKtorun?(yes/mod/no):yes
Jobqueued.JobId=7

Erestaurao100%,comomostraafiguraabaixo:

Finalizando
OBaculaumatimaferramentadeBackupOpenSource,ondepodemosusarempequenasemdias
empresas,ouemgrandesempresascomojutilizado.
NoincioparecesermuitodifcilautilizaodoBacula,masno,nadaimpossveldeseaprender.Com
muitaprticaeumpoucodeleitura,ficamaisfcilasuautilizao.
ParasabermaissobreoBacula,avaialgumasdicas:
GrupodoBaculanoGoogle:
groups.google.com/group/baculabackupptbr
SitedoBaculaemPortugus:
http://www.bacula.com.br
SiteOficialdoBacula:
http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

15/16

17/12/2014

ImplantandoumServidordeBackupcomBaculaDebianSqueeze[Artigo]

http://www.bacula.org
ETambmnoCanaldoIRCnoFreenode:
#bacula
#baculabr
Guiaderefernciaparaesseartigo:
Livro:BaculaFerramentaLivredeBackup
Autor:HeitorMedradodeFaria

http://www.vivaolinux.com.br/artigo/DebianSqueezeImplantandoumServidordeBackupcomBacula
Voltarparaosite

http://www.vivaolinux.com.br/artigos/impressora.php?codigo=13449

16/16

You might also like