Este artigo descreve como configurar um trabalho cron que faz backup automático de um banco de dados MySQL em um arquivo em intervalos específicos.
Backups de banco de dados automatizados usando cron jobs
Existem duas maneiras de executar tarefas cron que fazem backup de um banco de dados MySQL. Você pode incluir informações de login do MySQL no próprio comando cron job ou pode usar um arquivo de configuração para armazenar as informações de login do MySQL.
Método nº 1:Incluir informações de login do MySQL no comando cron job
Você pode executar backups agendados de um banco de dados MySQL criando um cron job que executa o seguinte comando:
/usr/bin/mysqldump --routines -u dbusername -p'dbpassword' dbname > ${HOME}/path/backup.sql
Substitua dbusername pelo usuário do banco de dados, dbpassword pela senha do usuário do banco de dados, dbname pelo banco de dados para fazer backup e path pelo caminho onde você deseja armazenar o arquivo de backup. Este exemplo usa backup.sql para o nome de arquivo do backup, mas você pode usar qualquer nome de arquivo que desejar.
- Os caracteres de aspas simples (') ao redor da senha garantem que todos os caracteres especiais sejam processados corretamente.
- Quando o comando é executado com sucesso, nenhuma saída é gerada. No entanto, se houver um erro ou configuração incorreta, dependendo da configuração da sua conta, você poderá receber uma mensagem de email que contém a saída do comando. Para suprimir mensagens de e-mail quando o comando falhar, adicione o seguinte texto ao final do comando cron job:
2>/dev/null
A maioria das pessoas, no entanto, deseja ser notificada quando um cron job falha.
Para obter informações sobre como usar o cPanel para criar um cron job, consulte este artigo.
Método nº 2:use um arquivo de configuração para armazenar informações de login do MySQL
Alternativamente, você pode criar um arquivo de configuração em seu diretório pessoal que armazena as informações de login do MySQL. Usando esse método, você não precisa incluir informações de login nos comandos do cron job. Para fazer isso, siga estas etapas:
- Crie um arquivo chamado .my.cnf em seu /home/ diretório de nome de usuário, substituindo nome de usuário pelo nome de usuário de sua conta. Certifique-se de incluir o inicial. no nome do arquivo.
- Copie e cole o seguinte texto em .my.cnf Arquivo. Substitua dbusername pelo usuário do banco de dados e substitua dbpassword pela senha do usuário do banco de dados:
[client] user = dbusername password = "dbpassword" host = localhost
-
Crie um cron job que execute o comando a seguir. Substitua dbname pelo nome do banco de dados para fazer backup e substitua path pelo caminho para armazenar o arquivo de backup. Este exemplo usa backup.sql para o nome de arquivo do backup, mas você pode usar qualquer nome de arquivo que desejar:
mysqldump --routines dbname > /path/backup.sql
Quando o comando é executado com sucesso, nenhuma saída é gerada. No entanto, se houver um erro ou configuração incorreta, dependendo da configuração da sua conta, você poderá receber uma mensagem de email que contém a saída do comando. Para suprimir mensagens de email quando o comando falhar, adicione o seguinte texto ao final do comando cron job:
2>/dev/null
A maioria das pessoas, no entanto, deseja ser notificada quando um cron job falha.
Para obter informações sobre como usar o cPanel para criar um cron job, consulte este artigo.
Mais informações
Para mais informações sobre o mysqldump programa, visite http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html.