Skip to content

Instantly share code, notes, and snippets.

@matheuslao
Created May 19, 2016 01:34
Show Gist options
  • Save matheuslao/7323c0705cb5b891519252f8f063a632 to your computer and use it in GitHub Desktop.
Save matheuslao/7323c0705cb5b891519252f8f063a632 to your computer and use it in GitHub Desktop.
Script para Backup de banco de dados mysql e envio via FTP para servidor externo
#!/bin/bash
MYSQL_DB="database"
MYSQL_USER="user"
MYSQL_PASSWORD="senha"
MYSQLDUMP_COMMAND="$(which mysqldump)"
BACKUP_FOLDER="/caminho/para/pasta/do/backup"
GZIP_COMMAND="$(which gzip)"
FTP_HOST="ftp.servidorbackup.com"
FTP_USER="user"
FTP_PASSWORD="senha"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
# Se a pasta já existir, limpa seu conteúdo. Caso contrário, cria
[ ! -d $BACKUP_FOLDER ] && mkdir -p $BACKUP_FOLDER || /bin/rm -f $BACKUP_FOLDER/*
FILE=$BACKUP_FOLDER/$MYSQL_DB.$TIMESTAMP.gz
$MYSQLDUMP_COMMAND -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DB | $GZIP_COMMAND -9 > $FILE
ftp -inv $FTP_HOST << EOF
user $FTP_USER $FTP_PASSWORD
lcd $BACKUP_FOLDER
put *
bye
EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment