[[!toc levels=4]] Restauração de backups ====================== O procedimento de restore pode ser feito de várias maneiras: 1. A partir dos backups remotos de um nodo. 2. A partir do backup local de um nodo. 3. A partir do backup gerado de um site em funcionamento. O ciclo completo pode ser dividido em três partes: 1. Geração do backup. 2. Transferência do backup. 3. Restauração do backup. A geração e transferência de backups já estão bem sólidas por conta do [puppet-backup](https://git.$dominio/?p=puppet-backup.git;a=summary puppet-backup). Tratemos da parte manual dos procedimentos usando a [Hydra Suite](http://git.$dominio/?p=hydra.git;a=summary). Restauro a quente ================= O restauro a quente ocorre quando: * O serviço de origem se encontra online OU * Queremos restaurar uma versão anterior do serviço no mesmo servidor em que ele se encontra OU * Quando temos condições de realizar um backup logo antes do serviço sair do ar e migrá-lo para um nodo de destino. Para fazer o backup do site em `/var/site/backups/site/$sitio`: hydractl backup-site $sitio Para fazer o backup de vários sites: hydractl backup-sites $sitio $sitio1 $sitio2 hydractl backup-sites # faz backup de todos os sites O `backup-sites` faz inclusive o backup do `svn.$dominio` e do `git.$dominio`, o que nestes casos significa a cópia dos repositórios: hydract backup-site svn hydract backup-site git Para copiar o backup para `$servidor:/var/site/backups/site/$sitio`: hydractl backup-copy-site $servidor $sitio hydractl backup-copy-sites $servidor $sitio $sitio1 $sitio2 hydractl backup-copy-sites $servidor # copia todos os sitios Para restaurar o backup copiado a partir do `$servidor`: hydractl backup-restore-site backups $servidor $sitio Tal restauro de backups necessita que o site já esteja definido no nodo através das configurações do puppet. Restauro a frio =============== O restauro a frio ocorre quando o serviço está offline, em geral quando há algum problema no nodo onde ele estava rodando. Primeiramente, pode ser que queiramos copiar o backup armazenado num servidor remoto para o local onde fazermos o restauro do serviço. O ideal é que isso já seja feito automaticamente pelo sistema de backups, mas no caso de servidores novos isso ainda não teve a oportunidade de acontecer. Para isso, usamos o seguinte comando no nodo onde o backup se encontra: hydractl backup-copy ORIG DEST # transfere /var/backups/remote/ORIG.$domain para DEST No nodo de destino, primeiro restauraremos backups cifrados de `/var/backups/remote/ORIG.$domain/{rsync,rdiff}` para `/var/backups/remote/ORIG.$domain/restore`: hydractl backup-restore ORIG Em seguida, procedemos com o restauro de aplicações. Restauro a frio do nodo de email -------------------------------- hydractl backup-restore-mail ORIG hydractl backup-restore-database ORIG postfix hydractl backup-restore-sympa ORIG hydractl backup-restore-schleuder ORIG hydractl backup-restore-firma ORIG for service in apache2 sympa dovecot postfix postgrey; do /etc/init.d/$service restart done hydractl backup-restore-site magaiver postfixadmin chown root.www-data /var/sites/postfixadmin/site/config.inc.php hydractl backup-restore-database magaiver roundcube dpkg-reconfigure roundcube-core Restauro a frio de um nodo web ------------------------------ hydractl backup-restore-svn ORIG