mysqlhotcopy 通过ftp方式异地备份数据库
2010-05-06 09:14
656 查看
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/article/4290018.html |
实现功能:定期备份数据库,删除过期备份,通过ftp方式实现异地备份。 使用shell脚本配合crontab进行自动化备份。 备份环境: mysql replication架构中的从机上进行备份 采用mysqlhotcopy原因:mysqlhotcopy方式,该方式在复制前先进行锁表,保证数据在同一刻一致性,复制完成后自动解锁。 在从机上备份的原因:在从机上执行,不影响WEB对主库的写操作。mysql replication 遇到锁表后暂停,当完成后根据relay-log日志继续与主库同步,同步正常 #!/bin/bash #this script for backup datebase #获取当前日期 TODAY=$('date' +'%Y%m%d') #设定过期时间为7天 EXPIRED=$('date' -d '-7 days' +'%Y%m%d') STOREDIR=/home/bak/ MYSQLHOTCOPY=/usr/local/mysql/bin/mysqlhotcopy ####################### Backup and compress databases ################################### #需要备份的数据库列表 database=(db1 db2 db3 db4 …… dnn) echo "Copy Database start time :" > /info.txt echo $('date' '+%Y-%m-%d %H:%M:%S') >> /info.txt echo "" >> /info.txt echo "File size as follows" >> /info.txt rm -rf /home/bak/* for i in ${database[*]} do $MYSQLHOTCOPY -u=用户名 -p=密码 $i /home/bak/ du -sh /home/bak/$i >> /info.txt done echo "" >> /info.txt echo "" >> /info.txt echo "Total sizes:" >> /info.txt ####################### Tar databases ############################################### du -sh /home/bak >> /info.txt cd /home #对备份文件进行压缩 tar czf bak.tar.gz bak du -sh /home/bak.tar.gz >> /info.txt echo "" >> /info.txt echo "Upload file time :" >>/info.txt echo $('date' '+%Y-%m-%d %H:%M:%S') >> /info.txt ######################## Upload file to ftp server ###################################### ftp -v -n ftp服务器IP << END user ftp用户名 密码 binary hash #创建新的日期文件夹 mkdir $TODAY cd $TODAY lcd /home prompt #删除过期数据及文件夹 mput bak.tar.gz cd /$EXPIRED mdelete bak.tar.gz cd ../ rmdir $EXPIRED close bye END ###################### Send mail Report ################################################## echo "" >> /info.txt echo "Complete time is:" >> /info.txt echo $('date' '+%Y-%m-%d %H:%M:%S') >> /info.txt mail -s "DataBase backup Report" liguxk@126.com < /info.txt 本文出自 “寒.枫” 博客,请务必保留此出处/article/4290018.html本文出自 51CTO.COM技术博客 |
相关文章推荐
- mysqlhotcopy 通过ftp方式异地备份数据库
- 用mysqlhotcopy 备份指定数据库 推荐
- 利用MySQL的mysqlhotcopy实现数据库自动备份的SH脚本源码
- Linux数据库热备份mysqlhotcopy
- 在LINUX下使用mysqlhotcopy备份MySQL中的数据库
- MySQL备份工具之mysqlhotcopy
- MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist
- Linux shell实现Mysql异地备份数据库
- 类似mysqlhotcopy备份mysql myisam脚本
- Mysql备份:mysqlhotcopy和mysqldump
- Mysql数据备份二(脚本备份mysqlhotcopy)
- 使用MySQL自带工具mysqlhotcopy快速备份MyISAM引擎的MySQL数据库
- 通过c# 实现mysql 数据库的备份和附加
- mysqlhotcopy 备份myisam表
- 如何通过Web方式把服务器端的数据库备份到本地的电脑硬盘中?
- mysqlhotcopy + binlog 实现mysql增量备份
- 通过SQL Server Agent方式实现数据库自动备份!
- mysql通过拷贝数据文件的方式进行数据库迁移
- VPS(网站数据+数据库)自动备份脚本(本地+ftp异地备份)
- awt可视化界面上传数据到mysql,jsp通过jdbc方式查询数据库,并将结果打印在网页上