Backup para mysql

De MochilaWiki
Revisão de 20h43min de 11 de janeiro de 2009 por 201.8.133.216 (discussão)
Ir para navegaçãoIr para pesquisar

tem esquema fácil de fazer backup do seu banco de dados mysql, seja somente um banco ou todo o banco. O script trabalha da seguinte forma:

  1. verifica a data atual, deixando: 20060501 (ano/mês/dia), que irá usar para diferenciar o arquivo que terá o mesmo nome mas a data fará o diferencial;
  2. extrai um banco ou todos os bancos de dados do servidor com o nome hipatia+data no diretório /home/banto/becapi/;
  3. compacta o arquivo no formato zip;
  4. entra no diretório aonde está o arquivo;
  5. se autentica num servidor ftp, entra no diretório pré-definido e sobe o arquivo;
  6. sair do servidor ftp.

abaixo o script:

#!/bin/sh
# backup-mysql.sh - copia de banco de dados

DATA=`/bin/date +%Y%m%d` mysqldump --databases spipforum --quote-names -h localhost -uroot -pmacaibas > /home/banto/becapi/hipatia-$DATA.sql zip /home/banto/becapi/hipatia-$DATA.sql.zip /home/banto/becapi/hipatia-$DATA.sql cd /home/banto/becapi/
ftp -in <<EOF open ftp.hipatia.info user banto 3mm4g0ldm4n bin cd /tmp put hipatia-$DATA.sql.zip bye EOF

salve o arquivo como backupmysql.sh (ou com qualquer nome) e torne o arquivo executável (chmod 777 backup-mysql.sh)

depois podemos inserir o script no agendador de tarefa para que o script seja roda todo dia as 2hs. Para isso adicione no final do arquivo /etc/crontab a linha:

0 2 * * * /bin/sh /home/banto/backup-mysql.sh

referência: