每天9点自动备份到backuppath并打包为tar.gz,超过7天自动删除,

USERNAME="root"
PASSWORD="admin"
HOST="localhost"
DATABASE="test"
PORT="3306"
#target directory
BACKUPPATH="/root/mysqlbackup"
DATETIME=`date '+%Y-%m-%d-%H-%M-%S'`
#if not exist,new it
if [ ! -d $BACKUPPATH/$DATETIME ]
then

        echo "make directory $BACKUPPATH....."
        mkdir $BACKUPPATH
        cd $BACKUPPATH
        mkdir $DATETIME
        echo "make directory $DATETIME....."
fi

echo "begin backuping mysql.... "
mysqldump -h$HOST -P$PORT -u$USERNAME -p$PASSWORD $DATABASE | gzip > $BACKUPPATH/$DATETIME/$DATETIME.sql.gz
#delete backups created over 1 mins

echo "tar...."
cd $BACKUPPATH
tar -zcvf $DATETIME.tar.gz $DATETIME
echo "delete temp directory $DATETIME..."
rm -rf $DATETIME
echo "delete backups over 7 days..."
find $BACKUPPATH -type f -name "*.tar.gz" -mtime +7 -exec rm -rf {} \;
echo "finished backuping at $BACKUPPATH"

刚开始tar报错:

tar (child): Cannot connect to xxx: resolve failed

原因:检查文件或目录中是否包含冒号‘ :’