Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer backup de bancos de dados MySQL usando cron jobs


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:
  1. 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.
  2. 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

  3. 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.