Backup para mysql

De MochilaWiki

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: