segunda-feira, 18 de outubro de 2010

Para fazer backup

Isso é mais como um lembrete pra mim do que qualquer outra coisa...
De vez enquando preciso fazer backup dos dados nos dos SGBD que possuo no servidor. Dois SGBD significam duas rotinas de backups diferentes.

Primeiro o MySQL. Ele usa o root para rodar como administrador, então para ter total acesso sou obrigado a loggar como root.

Para fazer um backup de tudo:
mysqldump -u root -p[senha] -x -e -A | gzip > backup.sql.gz


Para fazer backup apenas de um determinado banco:
mysqldump -u root -p[senha] -x -e -B [banco] | gzip > backup.sql.gz


Onde:
-u root - é o usuário que ele vai utilizar
-p[senha] - é obviamente a senha
-x - trava as bases de dados no momento em que cada uma é copiada, evitando qualquer problema de inconsistência
-e - permite ao mysqldump combinar argumentos INSERT dentro das tabelas, o que torna tanto o backup quanto a restauração mais rápidos
-A - faz backup de toda a base
-B [banco] - faz backup apenas do banco que quer.




Para restaurar:
mysql -u root -p[senha] --database=[banco] < backup.sql




No PostgreSQL a coisa é até mais simples, mas ele roda com o usuário postgres e para ter acesso completo o melhor é acessar usando este usuário:


Para fazer backup de tudo:
pg_dumpall | gzip > backup.sql.gz


Para fazer backup de um determinado banco:
pg_dump [banco] | gzip > backup.sql.gz




Para resutarar:

createdb [banco]
gunzip -c backup.sql.gz | psql [banco]


0 comentários:


My Weight Chart:
Weight Chart