1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #!/bin/bash #dump mysql databases # #liulipeng
mysqlbin=/usr/local/mysql/bin mysqldata=/www/mysql dumpdir=/www/mysql_backup sockfile=/tmp/mysql.sock mysqlUser=root mysqlPassword=123456
#dumpdbname="liu_emlog printonline_stat" dumpdbname=`/bin/echo show databases | $mysqlbin/mysql -u$mysqlUser -p$mysqlPassword 2>/dev/null | /bin/egrep -wv "Database|information_schema|test"` weekdaynow=`date +%m%d` chmod -R 755 $dumpdir cd $mysqldata echo `date "+%F %T"` backup start >> $dumpdir/backup.log for getdumpdbname in $dumpdbname do
if [ ! -e $dumpdir/$getdumpdbname.$weekdaynow ] then mkdir $dumpdir/$getdumpdbname.$weekdaynow chown mysql.mysql $dumpdir/$getdumpdbname.$weekdaynow fi
dumptablename=`/bin/echo show tables | $mysqlbin/mysql -u$mysqlUser -p$mysqlPassword -D $getdumpdbname 2>/dev/null | grep -v "Tables_in_"` #echo "/bin/echo show tables | $mysqlbin/mysql -S $sockfile -D $getdumpdbname"
/bin/rm -rf $dumpdir/$getdumpdbname.$weekdaynow/*
for getdumptablename in $dumptablename do $mysqlbin/mysqldump --skip-lock-tables --default-character-set=utf8 $getdumpdbname $getdumptablename > $dumpdir/$getdumpdbname.$weekdaynow/$getdumptablename.dump.`date +%w` done
/bin/gzip $dumpdir/"$getdumpdbname.$weekdaynow"/*
done echo `date "+%F %T"` backup end >> $dumpdir/backup.log chmod -R 000 $dumpdir
|