mysql备份脚本(线上使用的)
2011-11-30 15:01
453 查看
线上使用的mysql备份脚本,使用mysqldump备份,在mysql master上使用的。
在本地备份完成之后,同时传输一份备份文件至远程的ftp服务器上,实现异地备份.
本机保存20天的备份文件, 远端保存60天的备份文件.
脚本在服务器上运行了快两年了,很稳定.
我的nagios也很忠诚,哈哈.
# 建立备份用户.
# 脚本如下.
# 备份后的目录结构是这个样子的.
本文出自 “ritto's blog” 博客,请务必保留此出处http://ritto.blog.51cto.com/427838/729851
在本地备份完成之后,同时传输一份备份文件至远程的ftp服务器上,实现异地备份.
本机保存20天的备份文件, 远端保存60天的备份文件.
脚本在服务器上运行了快两年了,很稳定.
我的nagios也很忠诚,哈哈.
# 建立备份用户.
mysql> grant select,lock tables,reload,super,file,show view on *.* to 'mysqlbackup'@'localhost' identified by 'mysql_ritto'; mysql> flush privileges;
# 脚本如下.
#!/bin/bash USERNAME=mysqlbackup PASSWORD=mysql_ritto DATE=`date +%Y-%m-%d` OLDDATE=`date +%Y-%m-%d -d '-20 days'` FTPOLDDATE=`date +%Y-%m-%d -d '-60 days'` MYSQL=/usr/local/mysql/bin/mysql MYSQLDUMP=/usr/local/mysql/bin/mysqldump MYSQLADMIN=/usr/local/mysql/bin/mysqladmin SOCKET=/tmp/mysql.sock BACKDIR=/data/backup/db [ -d ${BACKDIR} ] || mkdir -p ${BACKDIR} [ -d ${BACKDIR}/${DATE} ] || mkdir ${BACKDIR}/${DATE} [ ! -d ${BACKDIR}/${OLDDATE} ] || rm -rf ${BACKDIR}/${OLDDATE} for DBNAME in mysql db1 db2 db3 do ${MYSQLDUMP} --opt --master-data=2 --tz-utc=true -u${USERNAME} -p${PASSWORD} -S${SOCKET} ${DBNAME} | gzip > ${BACKDIR}/${DATE}/${DBNAME}-backup-${DATE}.s l.gz logger "${DBNAME} has been backup successful - $DATE" /bin/sleep 5 done HOST=10.1.2.22 FTP_USERNAME=db1 FTP_PASSWORD=db1_ritto cd ${BACKDIR}/${DATE} ftp -i -n -v << ! open ${HOST} user ${FTP_USERNAME} ${FTP_PASSWORD} bin cd ${FTPOLDDATE} mdelete * cd .. rmdir ${FTPOLDDATE} mkdir ${DATE} cd ${DATE} mput * bye !
# 备份后的目录结构是这个样子的.
[root@db1 db]# ls 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 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 [root@db1 db]# ls -lhtr 2011-11-29/ total 3.1G -rw-r--r-- 1 root root 133K Nov 29 02:01 mysql-backup-2011-11-29.sql.gz -rw-r--r-- 1 root root 1.5G Nov 29 02:06 db1-backup-2011-11-29.sql.gz -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
相关文章推荐
- mysql使用innobackupex备份脚本
- mysql定期备份数据并压缩上传到ftp服务器的bat文件脚本,恢复建议使用SQLyog enterprise
- 使用mysqlbinlog server远程备份binlog的脚本
- 一个简单的mysql备份脚本用于线上备份
- mysql备份脚本 mysqldump使用方法详解
- MySQL的热备份开源工具XtraBackup 备份并使用ftp脚本上传备份数据
- 一个线上备份mysql的小脚本
- 使用python脚本实现mysql目录的备份
- mysql 备份与恢复mysqldump命令使用记录并做成脚本自动备份
- 线上MySQL备份脚本
- mysql 备份shell 脚本
- MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原教程
- MYSQL分库备份脚本案例
- 我的MySQL备份脚本
- MySQL数据备份之mysqldump使用
- 一个简单的MySQL备份Shell脚本
- MySQL XtraBackup备份脚本
- iptables的备份、恢复及防火墙脚本的基本使用
- windows下的mysql自动备份脚本
- mysql系列之6--------使用第三方工具-percona来备份mysql和恢复