Skip to content

Instantly share code, notes, and snippets.

@saderi
Created September 3, 2019 14:45
Show Gist options
  • Save saderi/9d96a375fd0586358d6c6c99c72ab226 to your computer and use it in GitHub Desktop.
Save saderi/9d96a375fd0586358d6c6c99c72ab226 to your computer and use it in GitHub Desktop.
#!/bin/bash
RIGHTNOW=$(date +"%Y-%m-%d-%H%M");
OLD_BACKUP=$(date --date="4 days ago" +"%Y-%m-%d");
FTP_HOST=''
FTP_USER=''
FTP_PASSWORD=''
DB_NAME=''
DB_USERNAME=''
DB_PASSWORD=''
BACKUP_DIR=''
FTP_DIR=''
# Remove old backups
rm -rf $BACKUP_DIR/$DB_NAME-$OLD_BACKUP*
# Export DB
mysqldump --user=$DB_USERNAME --password=$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$RIGHTNOW.sql
# compress sql file
gzip -6 $BACKUP_DIR/$DB_NAME-$RIGHTNOW.sql
# Upload to ftp and remove old backup from ftp
ftp -n -v $FTP_HOST << EOT
ascii
user $FTP_USER $FTP_PASSWORD
prompt
cd $FTP_DIR
mdelete $DB_NAME-$OLD_BACKUP*
put $BACKUP_DIR/$DB_NAME-$RIGHTNOW.sql.gz ./$DB_NAME-$RIGHTNOW.sql.gz
bye
EOT
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment