# !/bin/sh
#日期格式化字符串
dd=$(date "+%Y%m%d%H%M%S")
#要删除的旧的备份sql文件个数
number=10
#备份路径
backup_dir=/mnt/databack
#备份的数据库
db_name=mysqldb
#如果文件夹不存在则创建
if [ ! -d $backup_dir ]; then
        mkdir -p $backup_dir
fi
#执行备份命令
/usr/bin/mysqldump --opt -u root --password=root密码 $db_name >$backup_dir/$db_name-$dd.sql
#写创建备份日志
echo "create $backup_dir/$db_name-$dd.dupm" >> $backup_dir/log.txt
#列出要删除的文件
delfile=`ls -l -crt $backup_dir/*.sql | awk '{print $9}' | head -v`
#判断当前的备份数量,如果超出则删除
count=`ls -l -crt $backup_dir/*.sql |awk '{print $9}' | wc -l`
if [ $count -gt $number ];then
        rm $delfile
        echo "delete $delfile" >> $backup_dir/log.txt
fi

发表评论