Backups MySQL · 3 min read · Jan 26, 2026
Criando Backups MySQL Com AutoMySQLBackup
Criando Backups MySQL Com AutoMySQLBackup
Versão 1.0
Autor: Falko Timme
AutoMySQLBackup é um script de shell que permite fazer backups diários, semanais e mensais de seus bancos de dados MySQL usando mysqldump. Ele pode fazer backup de múltiplos bancos de dados, comprimir os backups, fazer backup de bancos de dados remotos e enviar os logs por e-mail.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
AutoMySQLBackup usa mysqldump para criar dumps SQL de seus bancos de dados. Por favor, note que mysqldump irá bloquear seus bancos de dados enquanto o backup está sendo criado, e isso pode levar de menos de um segundo até alguns minutos, dependendo do tamanho do seu banco de dados. Se você está executando um site de alto tráfego com um grande banco de dados, então AutoMySQLBackup não é para você!
Este script não ajudará em caso de falha do disco rígido. Você deve copiar seus backups offline regularmente para melhor proteção.
2 Usando AutoMySQLBackup
Você pode baixar o AutoMySQLBackup da seguinte forma:
cd /usr/local/bin
wget http://mesh.dl.sourceforge.net/sourceforge/automysqlbackup/automysqlbackup.sh.2.5
Então abra automysqlbackup.sh.2.5 e dê uma olhada nas opções de configuração. Elas estão todas bem explicadas. Você deve pelo menos configurar as seguintes configurações:
vi automysqlbackup.sh.2.5| [...] USERNAME=root [...] PASSWORD=sua_senha_sql_root [...] DBHOST=localhost [...] # Lista de DBNAMES para Backup Diário/Semanal, por exemplo, "DB1 DB2 DB3" DBNAMES="db_ispconfig web1 web2 web3" [...] # Localização do diretório de backup, por exemplo /backups BACKUPDIR="/backups" [...] # Endereço de e-mail para enviar o e-mail? ([email protected]) MAILADDR="[email protected]" [...] |
DBNAMES pode conter um ou múltiplos bancos de dados, separados por espaços.
Se BACKUPDIR não existir, automysqlbackup.sh.2.5 irá criá-lo automaticamente.
Certifique-se de preencher a senha e o host do banco de dados corretos. Se você quiser fazer backup de bancos de dados locais, use localhost; se você quiser fazer backup de bancos de dados remotos, use o nome do host remoto (por favor, note que o servidor de banco de dados remoto deve ser configurado para permitir conexões remotas!).
Agora devemos tornar o script executável:
chmod 755 automysqlbackup.sh.2.5Agora você pode executar automysqlbackup.sh.2.5 assim se você estiver no diretório /usr/local/bin:
./automysqlbackup.sh.2.5 … ou assim de qualquer outro diretório:
automysqlbackup.sh.2.5Este é um exemplo de saída:
AutoMySQLBackup VER 2.5
http://sourceforge.net/projects/automysqlbackup/
Hora de Início do Backup Sex Out 17 16:00:51 CEST 2008
Backup Diário do Banco de Dados ( db_ispconfig )
Rotacionando o Backup da última semana…
Backup Informações para /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Sexta.sql
comprimido não comprimido razão nome_não_comprimido
37231 382465 90.3% /backups/daily/db_ispconfig/db_ispconfig_2008-10-17_16h00m.Sexta.sql
———————————————————————-
Fim do Backup Sex Out 17 16:00:52 CEST 2008
Espaço total em disco usado para armazenamento de backup..
Tamanho - Localização
68K /backups
Se você achar o AutoMySQLBackup valioso, por favor, faça uma doação em
http://sourceforge.net/project/project_donations.php?group_id=101066
server1:~#
Dê uma olhada no diretório /backups…
ls -l /backups… e você deve encontrar três subdiretórios, diário, semanal e mensal:
server1:~# ls -l /backups/
total 12
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 diário
drwxr-xr-x 2 root root 4096 2008-10-17 16:00 mensal
drwxr-xr-x 3 root root 4096 2008-10-17 16:00 semanal
server1:~#
Esses diretórios conterão subdiretórios nomeados após os bancos de dados que você escolheu para fazer backup. Por exemplo, se você escolheu o banco de dados db_ispconfig, haverá um diretório /backups/daily/db_ispconfig contendo o dump do banco de dados:
cd /backups/daily/db_ispconfig
ls -l
server1:/backups/daily/db_ispconfig# ls -l
total 40
-rw-r–r– 1 root root 37231 2008-10-17 16:00 db_ispconfig_2008-10-17_16h00m.Sexta.sql.gz
server1:/backups/daily/db_ispconfig#
A extensão .gz significa que está comprimido. Para restaurar um banco de dados, você primeiro teria que descomprimir o dump:
gunzip db_ispconfig_2008-10-17_16h00m.Sexta.sql.gz… (isso lhe dará o dump descomprimido chamado db_ispconfig_2008-10-17_16h00m.Sexta.sql) e então restaurá-lo conforme descrito em https://www.howtoforge.com/faq/6_4_en.html.
Claro, você não quer executar automysqlbackup.sh.2.5 manualmente o tempo todo. Portanto, podemos criar um trabalho cron diário para isso da seguinte forma:
cd /etc/cron.daily/
ln -s /usr/local/bin/automysqlbackup.sh.2.5 automysqlbackup
3 Links
- AutoMySQLBackup: http://sourceforge.net/projects/automysqlbackup/
- MySQL: http://www.mysql.com/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.