科技小先锋 2017-11-08 780浏览量
#!/bin/sh # # created by yejr,2006/11/29 # # 本脚本用于定期做全量备份,备份的对象是slave上的全部数据 # 每次备份之前都先执行"STOP SLAVE; FLUSH TABLES;",然后将 # 所有文件拷贝到备份目录下 # #取得当前日期,作为备份目录名 today=`date +"%Y_%m_%d"` #源目录 datadir=/usr/local/mysql/data #目标目录 bkdir=/backup/mysql today_bkdir=$bkdir/$today today_full_bkdir=$today_bkdir/full_backup #修改上级目录属性 chattr -i $bkdir #判断目标目录是否已经存在 if [ ! -d $today_bkdir ] ; then mkdir -p $today_bkdir else chattr -i $today_bkdir fi #执行 slave-stop && flush-logs,停止slave,并且刷新缓存内容到磁盘 mysqladmin -hlocalhost -uroot -ppasswd stop-slave mysqladmin -hlocalhost -uroot -ppasswd flush-tables cd $datadir #将ibdata*以及其它需要备份的数据库目录拷贝到目标目录下 cp -rf ib* forum my.cnf mysql news yejr $today_full_bkdir/ #修改文件属主 chown -R nobody:nobody $bkdir #执行 slave-start,启动slave mysqladmin -hlocalhost -uroot -ppasswd start-slave #删除过期文件 cd $bkdir #找出6天前创建的目录 for d in `find . -type d -mtime +6 -maxdepth 1` do #修改当前目录及其子目录属性,然后删除 chattr -i $d chattr -i $d/full_backup rm -fr $d done #增加属性标志位 chattr +i $bkdir
#!/bin/sh # # created by yejr,2006/11/29 # 本脚本用于定期做增量备份,备份的对象是binlog # 每次备份之前都先执行 flush-logs,然后将最近的binlog移动 # 到备份目录下 # #取得当前日期,作为备份目录名 today=`date +"%Y_%m_%d"` #源目录 datadir=/usr/local/mysql/data #目标目录 bkdir=/backup/mysql today_bkdir=$bkdir/$today #修改上级目录属性 chattr -i $bkdir #判断目标目录是否已经存在 if [ ! -d $today_bkdir ] ; then mkdir -p $today_bkdir else chattr -i $today_bkdir fi #先执行"flush logs",创建出新的log文件 mysqladmin -hlocalhost -uroot -ppasswd flush-logs #去的binlog文件总数,去掉最后一个以及binlog.index total=`ls $logdir/bin_log.*|wc -l` total=`expr $total - 2` for f in `ls $logdir/bin_log.*|head -n $total` do #备份日志文件 bf=`basename $f` mv $f $today_bkdir/$bf done #修改属主及目录属性 chown -R nobody:nobody $bkdir chattr +i $bkdir
#从1-23时,每小时增量备份一次 0 1-23/1 * * * (/bin/sh /backup/mysql/backupmysql_hourly.sh \ >> /backup/mysql/backup.log &) #周一、三、六、日凌晨0点全量备份 0 0 * * 0,1,3,6 (/bin/sh /backup/mysql/backupmysql_fullly.sh \ >> /backup/mysql/backup.log &)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
分享数据库前沿,解构实战干货,推动数据库技术变革