每天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
原因:检查文件或目录中是否包含冒号‘ :’