centos每天自动备份mysql数据库

来源:互联网 发布:网络教育学位考试难吗 编辑:程序博客网 时间:2024/04/29 08:17
#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbinexport PATH#数据库用户名dbuser='root'#数据库用密码dbpasswd='******'需要备份的数据库,多个数据库用空格分开dbname='muye'#备份时间backtime=`date +%Y%m%d%H%M%S`#日志备份路径logpath='/home/database_backup/muye'#数据备份路径datapath='/home/database_backup/muye'#日志记录头部echo ‘"备份时间为${backtime},备份数据库表 ${dbname} 开始" >> ${logpath}/log.log#正式备份数据库for table in $dbname; dosource=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log;#备份成功以下操作if [ "$?" == 0 ];thencd $datapath#为节约硬盘空间,将数据库压缩tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null#删除原始文件,只留压缩后文件rm -f ${datapath}/${backtime}.sql#删除七天前备份,也就是只保存7天内的备份find $datapath -name "*.tar.bz2" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1echo "数据库表 ${dbname} 备份成功!!" >> ${logpath}/mysqllog.logelse#备份失败则进行以下操作echo "数据库表 ${dbname} 备份失败!!" >> ${logpath}/mysqllog.logfidone#建立cron定时计划crontab -e 59 23 * * * /bin/bash /home/database_backup/mysqlbak.sh

0 0
原创粉丝点击