#!/bin/bash # enviroment Path=/usr/local/sbin:/usr/bin:/bin # Configure the Directory of Backup Backupdir=/data/backup/mysql # mysql Backup dir Save=4 #how many days to save lastest host=192.168.10.32 # MySQL Host Root=root # mysql Account Rootpass= ' XXXXXX ' # mysql root password dumplist= ' mysql database1 database2 database3 ' # Backup with mysqldump Hotcopylist= ' Database4 ' # Backup with Mysqlhotcopy # define sqldir= $BACKUPDIR/sql/# mysqldump to SQL save path hotcopydir= $BACKUPDIR/hotcopy/# mysqlhotcopy Copy files path tmpdir= $BACKUPDIR/tmp # temporary Dir Datetime= ' date-d now +%y-%m-%d_%h-%m ' # create date dir # Create Directory if [!-D $SQLDIR]; Then Mkdir-p $SQLDIR Fi if [!-D $HOTCOPYDIR]; Then Mkdir-p $HOTCOPYDIR Fi RM-RF $TMPDIR Mkdir-p $TMPDIR #-----Backup MySQL----- # Backup with Database For dbname in $DUMPLIST Todo Mysqldump-h$host-u$root-p$rootpass $dbname > $TMPDIR/$dbname. sql Done For dbname in $HOTCOPYLIST Todo Mysqlhotcopy-u $ROOT-P $ROOTPASS $dbname $TMPDIR Done # move Hotcopy dir CD $HOTCOPYDIR Mkdir-p $DATETIME CD $DATETIME For dbname in $HOTCOPYLIST Todo Mv.. /.. /tmp/$dbname./ Done # Create MySQL Tar CD $SQLDIR Tar-czf $SQLDIR/mysql_backup. $DATETIME. tar.gz. /tmp RM-FR $TMPDIR Find $SQLDIR-type f-mtime + $SAVE | Xargs rm-f Find $HOTCOPYDIR-type d-mtime + $SAVE | Xargs RM-RF |