Automatizando backups

Você nunca saberá o valor de um backup até que precise dele. Um comando update mal condicionado, um drop table errado, um drush si na pasta errada, e os dados se perdem.
 
Faça backups regularmente! Só jesus salva
 
Você pode realizar a tarefa com o módulo backup_migrate ou por conta própria, via comandos no shell
 
Eu prefiro a segunda alternativa, pois com ela eu automatizo os backups de N bancos que eu tenha no MySQL, já com o módulo citado, eu precisaria instalá-lo e configurá-lo em cada site do servidor
 
A forma mais prática portanto é por um script bash, usando dos programas mysqldump e gzip
 
Usaremos o comando mysql -e "show databases like &;xpto_%&;; para buscar todos os bancos a serem exportados via dump. Assim qualquer banco que satisfizer a condição será automaticamente incluido no processo.
 
Podemos também usar o programa mysqlcheck para se certificar que os bancos estão sudáveis (este processo pode demorar alguns minutos, dependendo do tamanho dos seus bancos de dados)
 
E finalmente, em um loop for, executaremos a dupla mysqlcheck e mysqldump
 
Gerado os arquivos .sql, usaremos o gzip para compactá-lo e o chmod para proteger os arquivos
 
E para arrematar, o find para apagar os backups com mais de N dias. Ou corremos o risco de lotar o espaço em disco e derrubar o servidor
 
Aqui está um exemplo prático do script bash, preencha as variáveis das linhas iniciáis e bom proveito!
 
Agora basta adicionar uma linha no seu crontab apontando para seu script, exemplo:
5 */4 * * * /bin/bash /home/user/backup.sh
A linha acima realizará o backup cada 4 horas
 
Leia a segunda parte do artigo explicando como automatizar o envio dos arquivos de backup para a nuvem, usando webdav

Comentar

Filtered HTML

  • Endereços de páginas de internet e emails viram links automaticamente.
  • Twitter-style #hashtags are linked to https://twitter.com.
  • Twitter-style @usernames are linked to their Twitter account pages.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <bash> <php> <css> <mysql>
  • Quebras de linhas e parágrafos são feitos automaticamente.

Plain text

  • Nenhuma tag HTML permitida.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Quebras de linhas e parágrafos são feitos automaticamente.