Skip to content

Instantly share code, notes, and snippets.

@msonnabaum
Created June 23, 2009 23:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save msonnabaum/134914 to your computer and use it in GitHub Desktop.
Save msonnabaum/134914 to your computer and use it in GitHub Desktop.
#!/bin/sh
MYSQLDUMP_DIR='/Users/blah/Sites/db_backups'
CURDATE=`date +%F`
for SITE in $(ls sites/)
do
if [[ -f sites/${SITE}/settings.php ]]
then
# Retreive DB information from settings.php file
DBURL=$(grep '^$db_url' sites/${SITE}/settings.php | sed "s#.*'\(.*\)'#\1#")
DBUSER=$(echo ${DBURL} | sed 's#.*//\(.*\)\:.*@.*#\1#')
DBPASS=$(echo ${DBURL} | sed 's#.*//.*\:\(.*\)@.*#\1#')
DBNAME=$(echo ${DBURL} | sed "s#.*//.*@.*/\(.*\)\;#\1#")
DBHOST=$(echo ${DBURL} | sed 's#.*//.*@\(.*\)/.*#\1#')
if [[ "$(echo ${DBHOST#*:})" != "${DBHOST}" ]]
then
DBPORT=$(echo "-P ${DBHOST#*:}")
DBHOST=$(echo ${DBHOST%:*})
fi
# Backup current database
echo "mysqldump -h ${DBHOST} ${DBPORT} -u${DBUSER} -p ${DBNAME} > ${DBNAME}_${CURDATE}.sql"
mysqldump -h ${DBHOST} ${DBPORT} -u${DBUSER} -p${DBPASS} ${DBNAME} > ${MYSQLDUMP_DIR}/${DBNAME}_${CURDATE}.sql
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment