Faça backup de seus bancos de dados MySQL por FTP

Você está aqui:
Tempo estimado de leitura: 2 min

A Site & Site oferece backup automático como uma opção para qualquer Performance Series VPS. Este artigo fornece, além desse recurso, uma opção para criar automaticamente backups de banco de dados diários no servidor e também enviá-los por FTP para o servidor de backup ou até mesmo para hosts de arquivos.

visão global
  • Backups automáticos são executados diariamente. A hora em que o backup ocorre é configurável.
  • Muitos hosts de arquivos oferecem transferência de arquivos por FTP, para que você possa enviar automaticamente seu banco de dados para sua conta pessoal.
  • Ele envia um email após o término do backup.

Descrição

Primeiro, crie e mude para o /backupsdiretório.

 mkdir /backups
 cd /backups

Então, usando nanoou seu editor favorito, crie o arquivo de script:

nano backupdb.sh

Agora, copie e cole este script e edite as variáveis ​​no topo de acordo com suas configurações:

#!/bin/bash

############### Infos - Edit them accordingly  ########################

DATE=`date +%Y-%m-%d_%H%M`
LOCAL_BACKUP_DIR="/backups"
DB_NAME="database_name"
DB_USER="root"
DB_PASSWORD="root_password"

FTP_SERVER="111.111.111.111"
FTP_USERNAME="ftp-user"
FTP_PASSWORD="ftp-pass"
FTP_UPLOAD_DIR="/upload"

LOG_FILE=/backups/backup-DATE.log

############### Local Backup  ########################

mysqldump -u $DB_USER  -p$DB_PASSWORD $DB_NAME | gzip  > $LOCAL_BACKUP_DIR/$DATE-$DB_NAME.sql.gz

############### UPLOAD to FTP Server  ################

ftp -nv $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
cd $FTP_UPLOAD_DIR
lcd $LOCAL_BACKUP_DIR
put "$DATE-$DB_NAME.sql.gz"
bye
EndFTP

############### Check and save log, also send an email  ################

if test $? = 0
then
    echo "Database Successfully Uploaded to the Ftp Server!"
    echo -e "Database Successfully created and uploaded to the FTP Server!" | mail -s "Backup from $DATE" [email protected]

else
    echo "Error in database Upload to Ftp Server" > $LOG_FILE
fi

Depois que você terminar de editar o script e salvar o arquivo, tornaremos o arquivo executável aplicando o seguinte comando:

 chmod +x backupdb.sh

Você pode testá-lo agora digitando no terminal.

 /backups/backupdb.sh

… e depois que terminar a execução, digite ls -apara ver se o banco de dados foi submetido a backup. Confirme também se foi enviado para o seu servidor FTP.

Se tudo funcionou bem até agora, podemos fazê-lo funcionar diariamente usando o Crontab.

Seções Crontab

Você pode editar seu crontab com o seguinte comando:

 crontab -e

Isso abrirá um editor de texto no qual você poderá inserir sua programação em cada trabalho em uma nova linha.

Cada uma das seções é separada por um espaço, com a seção final tendo um ou mais espaços. É assim que um cron job é apresentado:

minuto (0-59), hora (0-23, 0 = meia-noite), dia (1-31), mês (1-12), dia da semana (0-6, 0 = domingo), comando

Então, no editor, digite ou cole esta linha:

 30 02 * * * /backups/backupdb.sh

O exemplo acima será executado /backups/backupdb.shàs 02:30 da manhã todos os dias de cada mês. Claro, você pode mudar a hora como preferir.

Agora basta salvar e fechar o arquivo. No horário programado, o backup será executado.

Esse artigo foi útil?
Não Gostei 0
Visualizações: 18

Ainda não Têm uma Conta?

Então Cadastre-se

Nome de Usuário*
E-mail*
Senha*
Confirmar Senha*

Já têm Uma Conta? Click Aqui.

Já tem uma Conta?

Ainda não tem Conta?