From 0a327c96c08fc5c146f17021a787aadce39c9f19 Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Fri, 2 Sep 2005 00:21:32 +0000 Subject: Add some stuff git-svn-id: svn+ssh://asteria.noreply.org/svn/weaselutils/trunk@2 bc3d92e2-beff-0310-a7cd-cc87d7ac0ede --- backup-mysql | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 backup-mysql (limited to 'backup-mysql') diff --git a/backup-mysql b/backup-mysql new file mode 100755 index 0000000..f6ad2ac --- /dev/null +++ b/backup-mysql @@ -0,0 +1,41 @@ +#!/bin/sh + +# +# Copyright (c) 2002, 2003, 2004, 2005 Peter Palfrader +# +# All rights reserved. +# + +echo "Does not handle per client backup dir" >&2 +exit 1 + +umask 037 + +set -e +set -u + +DATE=`date "+%Y%m%d-%H%M%S"` +TARGET=/var/backups/local/mysql +[ -d $TARGET ] || mkdir -p $TARGET + +echo 'SHOW DATABASES;' | mysql | tail -n +2 | +while read db; do + if [ "$db" = "innodb" -o "$db" = "test" ] ; then + continue; + fi + + file="$TARGET/$DATE-$db" + mysqldump --opt --lock-tables -- "$db" > "$file" + bzip2 -- "$file" + + md5=`md5sum -- "$file.bz2" | awk '{print $1}'` + if [ -e "$TARGET/MD5-$md5" ]; then + rm -- "$file.bz2" + ln "$TARGET/MD5-$md5" "$file.bz2" + else + ln "$file.bz2" "$TARGET/MD5-$md5" + fi +done | egrep -v 'Database ".*" dropped' + +# clean up old stuff +find "$TARGET" -name 'MD5-*' -links 1 -print0 | xargs --no-run-if-empty rm -- -- cgit v1.2.3