Professional Documents
Culture Documents
InstalaodoBacula
AinstalaodoBaculaatravsdogerenciadordepacotesbastantesimples,bastaexecutarocomando abaixoqueseroinstaladastodasasdependncias,inclusiveoMySQL,queobancodedadospadro doprograma.TambmhsuporteaobancodedadosPostgres,pormdevemserespecificadosos pacotes,masnoserabordadonessetutorial. #aptgetinstallbacula Seroinstaladososseguintespacotes:baculaclientbaculacommonbaculacommonmysqlbacula consolebaculadirectorcommonbaculadirectormysqlbaculafdbaculasdbaculasdmysqlbacula serverdbconfigcommon Serinstaladoobaculadirector,filedaemonestorageddaemon.Paraainstalaoparcialdeveroser instaladosobaculadirectorcommon,baculafdebaculasdrespectivamente.
ConfiguraodoBacula
OBaculaumsistemadistribudo,sendoformadopor3daemons:director,storagedaemonefile daemon.Cadadaemon"executa"independentemente,podendoestarlocalizadoemmquinasseparadas. Ofiledaemondeveestarinstaladoemtodasasmquinasclientes. Noambienteanalisado,todososdaemonsestoinstaladosnamesmamquina. BaculaDirector(baculadir.conf):
Configuraododirector
Altereasconfiguraesdeacordocomanecessidade/ambiente. Director{#definiesdogerenciador/director Name=ubuntuudir#nomedogerenciador/director DIRport=9101#portadecomunicaododirector QueryFile="/etc/bacula/scripts/query.sql" WorkingDirectory="/var/lib/bacula" PidDirectory="/var/run/bacula" MaximumConcurrentJobs=10#mximodeconexessimultneas Password="yveAet993vzsWug3KoZUKjVbdZy0nrSqIqQCFH80rIVS"#senhacliente terminal/console Messages=Daemon#tipodemensagensaseremgeradasnolog } JobDefs{#definiesdepadrodetarefa Name="DefaultJob"#nomedopadro Type=Backup#tipodetarefa(backup/restore) Level=Incremental#tipodebackup(incremental/diferencial/full) Client=ubuntuufd#cliente FileSet="FullSet"#nomedoconjuntodearquivos Schedule="Diario"#tipodeagendamento Storage=File#tipodearmazenamento(file/tape) Messages=Standard#padrodemensagensgeradas(log) Pool=File#tipodepoolutilizado Priority=10#prioridade WriteBootstrap="/var/lib/bacula/%c.bsr" } Job{#definiodetarefa Name="BackupClient1"#nomedatarefa JobDefs="DefaultJob"#padrodetarefa }
Job{#definiodatarefa Name="RestoreFiles"#nomedatarefa Type=Restore#tipodetarefa(backup/restore) Client=ubuntuufd#cliente FileSet="FullSet"#nomedoconjuntodearquivos Storage=File#tipodearmazenamento(file/tape) Pool=Default#tipodepoolutilizado Messages=Standard#padrodemensagensgeradas(log) Where=/mnt/bacularestores#ondeserrestauradoobackup } FileSet{#conjuntodearquivosediretrios Name="HomeSet"#nomedoconjunto Include{ Options{ signature=MD5#hashparaverificaodeintegridade } File=/home#arquivosselecionados } Exclude{ File=/home/backup#arquivosexcludos } } Schedule{#agendamento Name="Diario"#nomedoagendamento Run=Fullsunsatat23:10#definiodoagendamento(Fulldedomingo(sunday)asabado(saturday) as23:10) } Client{#definiesdocliente Name=ubuntuufd#nomedocliente Address=10.113.254.246#ipdocliente(FileDaemon) FDPort=9102#portadecomunicaocomocliente Catalog=MyCatalog#catlogodearquivos Password="zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM"#senhacliente(FileDaemon) FileRetention=30days#retenodosarquivos(30dias) JobRetention=6months#retenodatarefa(6meses) AutoPrune=yes#limpeza/supressoautomticadocatlogoapsexpiradootempodereteno(no afetaosdadosdovolume) } Storage{#definiododispositivodearmazenamento Name=File#nomedodispositivo Address=10.113.254.246#ipdodispositivodearmazenamento(StoragedDaemon) SDPort=9103#portadecomunicaocomastoraged Password="jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW"#senhadispositivo(StoragedDaemon) Device=FileStorage#dispositivo(StoragedDaemon)
MediaType=File#tipodearmazenamento } Pool{#definiodotipodevolume/partioasermontado Name=Default#nomedovolume PoolType=Backup#tipodepoolBackup/Archive/Cloned/Migration/Copy/Save(atualmenteapenas backupimplementado) Recycle=yes#baculaautomaticamentereciclaosvolumes(casonopossaseradicionadomais volumesserrescritosobreosexpirados) AutoPrune=yes#limpeza/supressoautomticadocatlogoapsexpiradootempodereteno(no afetaosdadosdovolume) VolumeRetention=365days#tempoderetenode365dias } Console{ Name=ubuntuumon Password="8UZ_p8sbi38XUmDGT5I3tt4egyM7uTpDx" CommandACL=status,.status }
Configuraodocliente(filedaemon)
Altereasconfiguraesdeacordocomanecessidade/ambiente. FileDaemon{#definiesfiledaemon Name=ubuntuufd#nome(mesmodobaculadir.conf) FDport=9102#portadecomunicacaocomodirector WorkingDirectory=/var/lib/bacula PidDirectory=/var/run/bacula MaximumConcurrentJobs=20#maximodetarefassimultneas } Director{#dadosparacomunicaocomodirector Name=ubuntuudir#nome(mesmodobaculadir.conf) Password="zWfAKqdbZb1PjYL9UdHForFnoUzkJBSM"#senha(mesmodobaculadir.conf) } Messages{#definiodotipodemensagemaserlogada Name=Standard#nomedopadro director=ubuntuudir=all,!skipped,!restored#parametrosaseremlogados,nocasotodos(all),exceto sada(skipped)erestaurao(restore) }
Configuraododispositivodearmazenamento (storageddaemon)
Asconfiguraesdevemseralteradasdeacordocomanecessidade/ambiente. Storage{#definiesstoraged Name=ubuntuusd#nome SDPort=9103#portadecomunicaocomodirector WorkingDirectory="/var/lib/bacula" PidDirectory="/var/run/bacula" MaximumConcurrentJobs=20#maximodetarefassimultneas #SDAddress=0.0.0.0#ipdamquina } Director{#definiododirectorqueteracessoao"daemon"dearmazenamento Name=ubuntuudir#nome Password="jKNZOR8Kl8nSuHFWi6H9txhEyTqODE3gW"#senha } Device{#definiesdodispositivodearmazenamento Name=FileStorage#nome(mesmoaserusadonodirector) MediaType=File#tipodemedia/dispositivoFile/Tape ArchiveDevice=/mnt/backup#pontodemontagemdovolume LabelMedia=yes#baculapermitirmediasemrtulo/nomeao RandomAccess=Yes AutomaticMount=yes#quandoodispositivoabrir,llo. RemovableMedia=no AlwaysOpen=no } Messages{#definiodotipodemensagemaserlogada Name=Standard#nomedopadro director=ubuntuudir=all#parametrosaseremlogados,nocasotodos(all) } Apsconfiguraodosdaemons,osmesmosdevemserreinicializados. Instalaoeconfiguraodainterfaceweb(Bweb)
Instalardependnciasdoaplicativobweb
MdulosPerl:
InstalaroBweb
PrimeiramentedevemserbaixadososarquivosfontedoBweb,paraissopodeserutilizadoowget: #wgethttp://sourceforge.net/projects/bacula/files/bacula/5.0.2/baculagui5.0.2.tar.gz/download Apsbaixaroarquivo,devesedesempacotaromesmoeentrarnapastadaaplicaoBweb: #tarxzvfbaculagui5.0.2.tar.gz #cdbaculagui5.0.2/bweb Apsdescompactado,devesecopiarasbibliotecasBwebPerlparaaocaminhodoperl5,atravsdos comandos: #perlMakefile.PL #makeinstall Emseguida,devemsercopiadososarquivosdoprogramaBwebparaapastacgidoservidor. #cd.. #mkdirm755/usr/lib/cgibin/bweb #installm755orootgrootbweb/cgi/*.pl/usr/lib/cgibin/bweb Agoracriaseoarquivodeconfiguraoatravsdoseguintecomando,atribuindoemseguidaousurio doservidorwebapachecomoproprietriodomesmo. #echo'$VAR1={template_dir=>"/usr/share/bweb/tpl"}'>/etc/bacula/bweb.conf #chownwwwdata/etc/bacula/bweb.conf Emseguidadevesercriadaapastaparaostemplatesdaaplicaoecopiadososarquivos correspondentesatravsdosseguintescomandos: #mkdirp/usr/share/bweb/tpl/en #installm644orootgrootbweb/lang/en/tpl/*.tpl/usr/share/bweb/tpl/en Parafinalizar,copiaseoselementosgrficosdaaplicaodentrodapastaBweb(quedevesercriada), nodocumentrootdoservidorweb. #mkdir/var/www/bweb
#installm644orootgrootbweb/html/*.{js,png,css,gif,ico,html}/var/www/bweb
ConfiguraroBweb
ApsinstaladoaaplicaoBweb,deveserrealizadaaconfiguraodoarquivo/etc/bacula/bweb.conf comosseguintesparmetros: $VAR1=bless({ 'enable_security'=>0, 'graph_font'=>'/usr/share/fonts/truetype/ttfdejavu/DejaVuSerif.ttf', 'config_file'=>'/etc/bacula/bweb.conf', 'password'=>'senhamysql', 'dbi'=>'DBI:mysql:database=bacula', 'user'=>'bacula', 'error'=>'', 'debug'=>0, 'stat_job_table'=>'Job', 'display_log_time'=>0, 'lang'=>'en', 'wiki_url'=>'', 'name'=>undef, 'bconsole'=>'/usr/bin/bconsolenc/etc/bacula/bconsole.conf', 'fv_write_path'=>'/var/spool/bweb', 'template_dir'=>'/usr/share/bweb/tpl', 'enable_security_acl'=>0, 'email_media'=>'frsl@localhost', 'default_age'=>'7d' },'Bweb::Config') Obs.:Oarquivodeconfiguraodeveseradaptadodeacordocomasconfiguraesdoambienteque estsendoinstaladaaaplicao. Seutilizadoosudo,insiraosseguintesvaloresnoarquivo/etc/sudoers: wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changertransfer* wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerstatus wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerload* wwwdataALL=(root)NOPASSWD:/usr/sbin/mtxf/dev/changerunload* Acesseaaplicaoatravsdoseguinteendereononavegadorweb: http://yourserver/bweb Obs.:Seoarquivodeconfiguraonoforeditado,serapresentadaumatelainicialparaquesepossa configuraromesmoatravsdainterface.
Instalaoeconfiguraodainterfaceweb(Brestore)
InstalardependnciasdoaplicativoBrestore
MdulosPerl: #aptgetinstalllibgtk2gladexmlperl\ libdbdmysqlperl\ libdbdpgperl\ libexpectperl\ libwwwperl MdulosExtjs: Parabaixarosarquivosdomoduloextjs,utilizeowgeteemseguidadescompacteosarquivosdentroda pasta'ext'do'documentroot'doservidorweb. #wgethttp://www.sencha.com/deploy/ext2.3.0.zip Descompactarem/var/www/bweb/ext: #unzipdextext2.3.0.zip #mvext2.3.0//var/www/bweb/ext
CarregaratualizaesdoMySQL
Paraqueobrestorefuncionenecessrioaatualizaodobancodedados,paraissoacesseapasta 'script'dentrodobwebecarregueoarquivo'bwebmysql.sql'paraobdmysql. #cd/bweb/script #mysqlurootbacula<bwebmysql.sqlp Sersolicitadaasenhaderootparaacessoaobanco.Apsainserodasenha,astabelasdoBacula seroatualizadas.
InstalaodoBrestore
ParainstalaroBrestorebastaacessarapastabaixadaanteriormenteparainstalaroBwebnopasso7e acessarapasta'brestore'.Apsacessarapasta,deveseinstalarainterfacegladedobrestorenapasta /usr/share/brestoreatravsdoscomandos: #cdbaculagui5.0.2/brestore
ConfiguraodoBrestore
Editeoarquivo"/usr/lib/cgibin/bweb/bresto.pl"ehabilitaraseguintevarivelcomovalor'1'. my$bresto_enable=1 Editeoarquivo"/usr/bin/brestore.pl"comasseguintesvariveis my$glade_file='/usr/share/brestore/brestore.glade' $parameters={ 'mozilla'=>'mozilla', 'bconsole'=>'/usr/local/bin/bconsolenc/etc/bacula/bconsole.conf', 'bweb'=>'http://localhost/cgibin/bweb/bweb.pl', 'connection_string'=>'DBI:mysql:database=baculahost=127.0.0.1port=3306', 'username'=>'bacula', 'password'=>'xxxx', 'bsr_dest'=>'file://var/tmp', 'debug'=>0, 'use_ok_bkp_only'=>1, 'default_restore_job'=>'restore' } AcesseaaplicaoatravsdoseguinteendereononavegadorwebouatravsdoBweb: http://yourserver/bweb/bresto.html
Acessandoviaterminal
Paraacessarobaculaviaterminalbastadigitarocomando: $bconsole Paraverificaroscomandosdisponveisbastadigitarateclatabduasvezes.Abaixohumexemplo listandoostatusdocliente"desktopfd"atravsdocomando"status".
AcessandooBweb
ParaacessarBaculaviainterfacewebbastadigitaroendereohttp://ipdoserver/bwebnonavegador. SerexibidaapginadoBweb:
AcessandooBrestore
ParaacessaromduloderecuperaodoBaculaviainterfacewebbastadigitaroendereohttp://ipdo server/bweb/bresto.htmlnonavegadorouiratomenujobsdoBwebeclicarnolinkWebRestore, comopodeserobservadonafiguraaabaixo.SerexibidaapginadoBrestore:
Refernciasbibliogrficas
Tutoriallinux|InstalaodoBacula|Baculaumprogramaquepossibilitafazerbackup|Linux Monsters|Artigos,dicas,tutoriais,frum,linuxshellscripts,scriptslinux,scriptsemuitomais MontandoumcompletoservidordebackupusandoBacula[Artigo] BaculanoDebianLenny[Artigo] MYExperiences:InstallBaculaBWEB UbuntuServer9.04BaculaBwebGUI|HowtoForgeLinuxHowtosandTutorials HowtoinstallandsetupBweb