您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

在CentOS实现mysql数据库的自动备份备份

2025/8/5 12:55:17发布36次查看
? ? ? ? 数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦。本脚本主要现实在centos中实现对数据库的备份和保留最近十五天的备份文件。避免太多无用陈旧的备份占用空间。 #!/bin/bashid=root #用户名pwd=123123 #密码dbs=conedu commlib #
? ? ? ? 数据是一个比较重要的数据,经常需要备份,每次都手动比较麻烦。本脚本主要现实在centos中实现对数据库的备份和保留最近十五天的备份文件。避免太多无用陈旧的备份占用空间。
#!/bin/bashid=root #用户名pwd=123123 #密码dbs=conedu commlib #数据库名字的列表,多个数据库用空格分开。backuppath=/root/mysqlbackup #保存备份的位置day=15 #保留最近几天的备份[ ! -d $backpath ] &&mkdir -p $backuppath #判断备份目录是否存在,不存时新建目录。cd $backuppath #转到备份目录,这句话可以省略。可以直接将路径到命令的也行。backupname=mysql_$(date +%y-%m-%d) #生成备份文件的名字的前缀,不带后缀。for db in $dbs; #dbs是一个数据名字的集合。遍历所有的数据。do mysqldump -u$id -p$pwd -s /var/lib/mysql/mysql.sock $db >$backupname_$db.sql #备份单个数据为.sql文件。放到当前位置 if [ $? == 0 ] #$? 得到上一个shell命令的执行的返回值。0表示执行成功。其他表示错误。并将将结果写入到日志中。 then echo $(date +%y-%m-%d) $db mysqldump sucess>>mysql.log else echo $(date +%y-%m-%d) $db mysql dump failed>>mysql.log exit 0 fidonetar -czf $backupname.tar.gz *.sql #压缩所有sql文件if [ $? == 0 ]then echo $(date +%y-%m-%d) tar sucess>>mysql.logelse echo $(date +%y-%m-%d) tar failed>>mysql.log exit 0firm -f *.sql #删除所有的sql文件delname=mysql_$(date -d $day day ago +%y-%m-%d).tar.gz #得到要删除的太旧的备份的名字。rm -f $delname #删除文件。
只要在 /etc/crontab中添加一行,就可以在指定时间,自动备份了。
blog: http://blog.csdn.net/rentiansheng/article/details/9254733
作者:rentiansheng 发表于2013-7-5 18:52:36 原文链接
阅读:2 评论:0 查看评论
原文地址:在centos实现mysql数据库的自动备份备份, 感谢原作者分享。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product