Skip to content

Instantly share code, notes, and snippets.

@robotloveskitten
Forked from abovedave/s3backup.sh
Last active August 29, 2015 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save robotloveskitten/466465783d5c800fc6e3 to your computer and use it in GitHub Desktop.
Save robotloveskitten/466465783d5c800fc6e3 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
# Media Temple account number
account="XXXXXX"
# A list of website directories to back up
websites="example.com"
homedir="/home/$account/users/.home"
# The destination directory to backup the files to
destdir="/home/$account/users/.home/s3backup"
# The directory where all website domain directories reside
domaindir="/home/$account/domains"
# The MySQL database hostname
dbhost="internal-db.s$account.gridserver.com"
# The MySQL database username - requires read access to databases
dbuser="dbXXXXXX"
# The MySQL database password
dbpassword="RpGKyApS"
dbnames="XXXXXX"
# The S3 bucket a.k.a. directory to upload the backups into
s3bucket="XXXXXX"
echo date ": Beginning backup process..." > "$destdir/backup.log"
# remove old backup
rm $destdir/*.tar.gz > /dev/null 2>&1
for dbname in $dbnames; do
echo date ": Backing up database $dbname..." >> $destdir/backup.log
/usr/bin/mysqldump --opt --skip-lock-tables -h $dbhost -u$dbuser -p$dbpassword $dbname > $destdir/$dbname.sql
tar -czf $destdir/$dbname.sql.tar.gz $destdir/$dbname.sql
rm $destdir/$dbname.sql
done
# backup web content
echo date ": Backing up web content..." >> $destdir/backup.log
for website in $websites; do
echo date ": Backing up website $website..." >> $destdir/backup.log
tar -czf $destdir/$website.tar.gz $domaindir/$website
done
echo date ": Backup process complete." >> $destdir/backup.log
$homedir/bin/s3cmd sync --config="$homedir/.s3cfg" --acl-private --recursive "$destdir/" s3://$s3bucket
echo date ": Upload complete! :)" >> $destdir/backup.log
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment