Created
March 26, 2020 13:18
-
-
Save facilita-tecnologia/f1d6e062d64757552297fd544b848e04 to your computer and use it in GitHub Desktop.
Backup automatizado do MYSQL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#################### SCRIPT PARA BACKUP MYSQL #################### | |
# Definindo parametros do Email | |
# editar somente este cabecalho | |
DB_NAME='nome_do_banco' | |
DB_USER='usuario_do_banco' | |
DB_PASS='senha_do_banco' | |
VPS_NAME='Nome_da_sua_vps_ou_empresa' | |
DIR_GDRIVE='hashdirgdrive' | |
TOEMAIL='[email protected]' #log vai ser enviado para esse email | |
EMAIL='[email protected]' | |
SMTP='mail.seudominio.com.br:587' #coloque o servidor smtp do seu email e a porta | |
PASSWORD='senha_do_email' | |
#### fim da edicao, nao precisa mecher mais nada abaixo. se desejar alterar a quantidade de dias armazenados confira abaixo o comentario de onde alterar | |
DATE=`date +%Y-%m-%d_%H-%M-%S` | |
DATE2=`date +%d/%m/%Y_%H-%M-%S` | |
SUBJECT="Backup Diário > $VPS_NAME | $DATE2" | |
# Definindo parametros do backup | |
DB_PARAM='--add-drop-table --add-locks --extended-insert --single-transaction -quick' | |
MYSQLDUMP=/usr/bin/mysqldump | |
BACKUP_DIR=/opt/backup | |
BACKUP_TAR=$VPS_NAME-database-$DATE.gzip | |
#Template | |
echo -e $SUBJECT >> $BACKUP_DIR/log.txt | |
echo -e "Cliente: " $VPS_NAME >> $BACKUP_DIR/log.txt | |
echo -e "Data: " $DATE >> $BACKUP_DIR/log.txt | |
#apaga backups antigos com mais de 10 dias | |
echo -e "= BACKUPS COM MAIS DE 10 DIAS =" >> $BACKUP_DIR/log.txt | |
## as linha abaixo procuram dados com mais de 10 dias e exclui, se quiser aumentar a quantidade, alterar todos os -mtime +10 para a quantidade desejada | |
find /opt/backup/* -mtime +10 -exec ls -l {} \; >> $BACKUP_DIR/log.txt | |
echo -e "========================================" >> $BACKUP_DIR/log.txt | |
find /opt/backup/* -mtime +10 -exec rm -rf {} \; | |
#apaga logs antigos com mais de 10 dias | |
echo -e "= LOGS COM MAIS DE 10 DIAS =" >> $BACKUP_DIR/log.txt | |
find /opt/traccar/logs/* -mtime +10 -exec ls -l {} \; >> $BACKUP_DIR/log.txt | |
echo -e "========================================" >> $BACKUP_DIR/log.txt | |
find /opt/traccar/logs/* -mtime +10 -exec rm -rf {} \; | |
#Gerando arquivo sql | |
$MYSQLDUMP --databases $DB_NAME $DB_PARAM -u $DB_USER -p$DB_PASS | bzip2 > $BACKUP_DIR/$BACKUP_TAR | |
echo -e "Tamanho: " >> $BACKUP_DIR/log.txt | |
du -h $BACKUP_DIR/$BACKUP_TAR >> $BACKUP_DIR/log.txt | |
echo -e "========================================" >> $BACKUP_DIR/log.txt | |
#Enviando gDrive | |
#/opt/backup/gdrive-linux-x64 upload --parent $DIR_GDRIVE --delete $BACKUP_DIR/$BACKUP_TAR >> $BACKUP_DIR/log.txt | |
echo -e "=======================================" >> $BACKUP_DIR/log.txt | |
#Enviando Email | |
sendemail -f $EMAIL -t $TOEMAIL -u $SUBJECT -o message-file=/opt/backup/log.txt -s $SMTP -o -xu $EMAIL -xp $PASSWORD | |
#apagando log | |
rm $BACKUP_DIR/log.txt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment