logo资料库

mysql上线自动备份脚本.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
mysql备份脚本(线上使用的) mysql备份脚本 备份脚本(线上使用的 线上使用的) 2011-11-30 15:01:20 标签:mysql 数据库 mysql备份 master 休闲 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责 任。http://ritto.blog.51cto.com/427838/729851 线上使用的mysql备份脚本,使用mysqldump备份,在mysql master上使用的。 在本地备份完成之后,同时传输一份备份文件至远程的ftp服务器上,实现异地备份. 本机保存20天的备份文件, 远端保存60天的备份文件. 脚本在服务器上运行了快两年了,很稳定. 我的nagios也很忠诚,哈哈. # 建立备份用户. 1. mysql> grant select,lock tables,reload,super,file,show view on *.* to 'mysqlbackup'@'localhost' identified by 'mysq l_ritto'; 2. mysql> flush privileges; # 脚本如下. 1. #!/bin/bash 2. 3. USERNAME=mysqlbackup 4. PASSWORD=mysql_ritto 5. 6. DATE=`date +%Y-%m-%d` 7. OLDDATE=`date +%Y-%m-%d -d '-20 days'` 8. FTPOLDDATE=`date +%Y-%m-%d -d '-60 days'` 9. 10. 11. MYSQL=/usr/local/mysql/bin/mysql 12. MYSQLDUMP=/usr/local/mysql/bin/mysqldump 13. MYSQLADMIN=/usr/local/mysql/bin/mysqladmin 14. SOCKET=/tmp/mysql.sock 15. 16. BACKDIR=/data/backup/db
17. [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR} 18. [ -d ${BACKDIR}/${DATE} ] || mkdir ${BACKDIR}/${DATE} 19. [ ! -d ${BACKDIR}/${OLDDATE} ] || rm -rf ${BACKDIR}/${OLDDATE} 20. 21. for DBNAME in mysql db1 db2 db3 22. do 23. ${MYSQLDUMP} --opt --master-data=2 --tz-utc=true -u${USERNAME} -p${PASSWORD} -S${SOCKET} ${DBNAME} | gzip > ${BA CKDIR}/${DATE}/${DBNAME}-backup-${DATE}.s l.gz 24. logger "${DBNAME} has been backup successful - $DATE" 25. /bin/sleep 5 26. done 27. 28. 29. HOST=10.1.2.22 30. FTP_USERNAME=db1 31. FTP_PASSWORD=db1_ritto 32. 33. cd ${BACKDIR}/${DATE} 34. 35. ftp -i -n -v << ! 36. open ${HOST} 37. user ${FTP_USERNAME} ${FTP_PASSWORD} 38. bin 39. cd ${FTPOLDDATE} 40. mdelete * 41. cd .. 42. rmdir ${FTPOLDDATE} 43. mkdir ${DATE} 44. cd ${DATE} 45. mput * 46. bye 47. ! # 备份后的目录结构是这个样子的. 1. [root@db1 db]# ls 2. 2011-11-10 2011-11-12 2011-11-14 2011-11-16 2011-11-18 2011-11-20 2011-11-22 2011-11-24 2011-11-26 2011-11 -28 3. 2011-11-11 2011-11-13 2011-11-15 2011-11-17 2011-11-19 2011-11-21 2011-11-23 2011-11-25 2011-11-27 2011-11 -29 4. [root@db1 db]# ls -lhtr 2011-11-29/ 5. total 3.1G 6. -rw-r--r-- 1 root root 133K Nov 29 02:01 mysql-backup-2011-11-29.sql.gz 7. -rw-r--r-- 1 root root 1.5G Nov 29 02:06 db1-backup-2011-11-29.sql.gz 8. -rw-r--r-- 1 root root 35M Nov 29 02:06 db2-backup-2011-11-29.sql.gz 本文出自 “ritto's blog” 博客,请务必保留此出处http://ritto.blog.51cto.com/427838/729851
分享到:
收藏