Skip to content

Instantly share code, notes, and snippets.

@danieledangeli
Created November 11, 2013 13:28
Show Gist options
  • Save danieledangeli/7413175 to your computer and use it in GitHub Desktop.
Save danieledangeli/7413175 to your computer and use it in GitHub Desktop.
A simple script to backup a given database into a ftp server
#!/bin/bash -l
#$ -S /bin/bash
#$ -N $7
#input variables
dbHost=$1
dbUsername=$2
dbPwd=$3
dbName=$4
ftpUsername=$5
ftpPwd=$6
ftpHost=$7
#variables
tmpFolder=/tmp/backup
backupName=db_backup_"$dbName"_$(date +%Y-%m-%d).sql.gz
#start scripting
echo Started backup database transfer from "$dbHost":"$dbName" to ftp host: "$ftpHost"
#create temp dir
mkdir "$tmpFolder"
#dbdump in tmp folder
mysqldump -h $dbHost -u $dbUsername -p$dbPwd --single-transaction $dbName | gzip > "$tmpFolder"/"$backupName"
#ftp uplaod
echo "start ftp upload..."
ftp-upload -v --passive -u "$ftpUsername" --password "$ftpPwd" -h "$ftpHost" "$tmpFolder"/"$backupName"
#remove tmp files and folder
rm -f "$tmpFolder"/"$backupName"
rm -fr "$tmpFolder"
echo "end"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment