From b1f32be663918eda4b2627f322b88754aa6e450b Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Mon, 16 Apr 2012 21:26:54 +0000 Subject: [PATCH] deployment: initial database dump support From: Michael Prokop --- deployment.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/deployment.sh b/deployment.sh index 639e7ee..6810796 100755 --- a/deployment.sh +++ b/deployment.sh @@ -1217,6 +1217,30 @@ for i in asterisk atd collectd collectdmon dbus-daemon exim4 \ killall -9 $i >/dev/null 2>&1 || true done +# upload database dump +chroot $TARGET /etc/init.d/mysql restart || true + +# retrieve list of databases +databases=$(chroot $TARGET mysql -B -N -e 'show databases' | grep -ve '^information_schema$' -ve '^mysql$') + +if ! chroot $TARGET mysqldump --add-drop-database --no-data -B $databases > dump.db 2>/tmp/mysqldump.log ; then + echo "Error while dumping mysql databases." >&2 + exit 1 +fi + +chroot $TARGET /etc/init.d/mysql stop >/dev/null 2>&1 || true + +# upload database dump +DB_MD5=$(curl --max-time 30 --connect-timeout 30 -F file=@/dump.db http://jenkins.mgm.sipwise.com:4567/upload) + +if [[ "$DB_MD5" == $(md5sum /dump.db | awk '{print $1}') ]] ; then + echo "Upload of database dump went fine." +else + echo '#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!' + echo '#!#!#!#!#!#!#! Warning: error while uploading database. #!#!#!#!#!#!#!' + echo '#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!' +fi + # don't leave any mountpoints sync umount ${TARGET}/proc 2>/dev/null || true