From 44bd0a8c1a8cdb4ac03b7d394c30d8a76ecc2603 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Tue, 5 May 2009 04:30:07 +0200 Subject: feature: selfupdating --- mysql/mysql_backup.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'mysql/mysql_backup.sh') diff --git a/mysql/mysql_backup.sh b/mysql/mysql_backup.sh index 43e997b..48f41a7 100755 --- a/mysql/mysql_backup.sh +++ b/mysql/mysql_backup.sh @@ -26,11 +26,12 @@ TMP_DIRECTORY="/tmp" # backup name BACKUP_PREFIX="$(hostname -f)_${MYSQL_SERVER}_$(date +%F)" -# logging +# logging (0 = enabled, all other = disabled) LOGGING="0" ## end of configuration +# only output something if logging is enabled log() { if [ $LOGGING -eq 0 ]; then if [ -n "$1" ]; then @@ -41,8 +42,26 @@ log() { fi } +# selfupdate magic +_self_update() { + pushd $(dirname $0) &>/dev/null + + git fetch origin 2>/dev/null + if [[ -n "$(git whatchanged HEAD..origin/master)" ]]; then + echo "Selfupdating backupscript..." | log + git merge origin/master | log + echo "Selfupdating done." | log + echo | log + + popd &>/dev/null + exec $0 + fi + + popd &>/dev/null +} + # check for tools -for prog in mysqlshow mysqldump ncftpput +for prog in git mysqlshow mysqldump ncftpput do if ! hash $prog 2>/dev/null ; then echo "Error: This script needs: $prog. Exiting..." >&2 @@ -50,6 +69,8 @@ do fi done +_self_update() + echo "Started backup of mysql databases ($(date +%c)):" | log echo | log -- cgit v1.2.3