svn 备份脚本(包含mysql数据库)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

svn 备份脚本(包含mysql数据库)

备份svn 数据,分两个脚本

svn_data.sh 用于备份svn 数据到,远程rsync 服务器

mysql_bak.sh 用于备份mysql 数据库到,远程rsync 服务器

 

cat /root/sh/svn_data.sh

 
  1. #!/bin/bash 
  2. #backup /u01/svndata/ 
  3. #20110909 by dongnan 
  4.  
  5. #variables 
  6. rsync=/usr/bin/rsync 
  7. rsync_add=192.168.57.82 
  8. svn_data_dir=/u01/svndata 
  9. mysql_data_dir=/data/mysql 
  10. l_time=`date +'%Y-%m-%d %H:%M:%S'` 
  11. today_time=`date +'%Y-%m-%d'` 
  12. log_dir=/root/sh/log 
  13.  
  14.  
  15. #add for backup mysql  
  16. /root/sh/mysql_bak.sh || echo "$l_time mysql backup error!" >> /root/sh/log/mysql_bak.err 
  17. sleep 30 
  18.  
  19. #rsync 
  20. for var in $svn_data_dir $mysql_data_dir ;do 
  21. #echo $var && continue 
  22. now_time=`date +"%F_%T"` 
  23. if ! $rsync -avz --delete --password-file=/root/sh/pw "$var" dongnan@${rsync_add}::svn_data/ 2>>$log_dir/svn_err.txt;then 
  24.     echo $now_time >> $log_dir/svn_err.txt 
  25.     echo "#####" >> $log_dir/svn_err.txt 
  26. fi 
  27. done 
 
cat /root/sh/mysql_bak.sh
 
 
  1. #!/bin/bash 
  2. #backup mysql data 
  3. #20111012 by dongnan 
  4.  
  5. #variables 
  6. dump=/usr/bin/mysqldump 
  7. mysql=/usr/local/bin/mysql 
  8. option='-uroot -pdongnan --opt -e -x --master-data=2' 
  9. databases=$(mysql -uroot -ppassword -e 'show databases;' | awk '$1 !~ /Database|information_schema|test/ {print $1}') 
  10. bak_dir=/data/ 
  11. l_time=`date +'%Y-%m-%d %H:%M:%S'` 
  12. now_time=`date +'%Y-%m-%d'` 
  13. expires_time=`date +"%Y%m%d" --date='4 days ago'
  14. log=/root/sh/log/mysql_bak.err 
  15. date_dir=$(date +'%Y%m%d') 
  16.  
  17. #delete old file (4days)  
  18. find "$bak_dir" -name "${expires_time}" -type d | xargs rm -rf 
  19.  
  20. #date dir 
  21. test -e ${bak_dir}${date_dir} || mkdir -p ${bak_dir}${date_dir} 
  22.  
  23. #backup and gzip database.sql 
  24. for database in $databases;do 
  25.    $dump $option $database | gzip > ${bak_dir}${date_dir}/${now_time}-${database}.sql.gz || echo "$l_time $database backup error!!" >> $log 
  26. done 
 
 
结束

更多欢迎到此讨论:

37275208 

#update 20120605

恢复mysql

gzip -dc 2012-06-01-uspace_uchome.sql.gz | mysql -uroot -pdongnan uspace_uchome

恢复binlog中的sql 语句

 

#update 20130210

 
  1. cat mysql_bak.sh 
  2. #!/bin/bash  
  3. #backup mysql data  
  4. #20111012 by dongnan  
  5.             
  6. #variables  
  7. dump=/usr/local/mysql/bin/mysqldump 
  8. mysql=/usr/local/mysql/bin/mysql 
  9. uuencode=/usr/bin/uuencode 
  10. email=dongnan@mail.com 
  11. option='-udongnan -pdongnan --opt -e -x --master-data=2' 
  12. databases=$($mysql -udongnan -pdongnan -e 'show databases;' | awk '$1 !~ /Database|information_schema|test|mysql/ {print $1}')  
  13. bak_dir=/backup/ 
  14. l_time=`date +'%Y-%m-%d %H:%M:%S'`  
  15. now_time=`date +'%Y-%m-%d'`  
  16. expires_time=`date +"%Y%m%d" --date='7 days ago'`  
  17. log=/root/sh/log/mysql_bak.err  
  18. date_dir=$(date +'%Y%m%d')  
  19.             
  20. #test command 
  21. for command in $dump $mysql $uuencode;do 
  22.     if [[ ! -e $command ]];then 
  23.         echo "Not Found $command" 
  24.         exit 1 
  25.     fi 
  26. done 
  27.        
  28. #delete old file (7days)   
  29. find "$bak_dir" -name "${expires_time}" -type d | xargs rm -rf  
  30.             
  31. #date dir  
  32. test -e ${bak_dir}${date_dir} || mkdir -p ${bak_dir}${date_dir}  
  33.             
  34. #backup and gzip database.sql  
  35. for database in $databases;do 
  36.     ! test -e ${bak_dir}${date_dir}/${now_time}-${database}.sql.gz || break 
  37.     $dump $option $database | gzip > ${bak_dir}${date_dir}/${now_time}-${database}.sql.gz || echo "$l_time $database backup error!!" >> $log  
  38.     $uuencode ${bak_dir}${date_dir}/${now_time}-${database}.sql.gz ${now_time}-${database}.sql.gz | mail  -s "${now_time}-${database}.sql.gz" $email 
  39. done 

#

本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/883480


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
161 10
|
6月前
|
前端开发 数据库
会议室管理系统源码(含数据库脚本)
会议室管理系统源码(含数据库脚本)
99 0
|
4月前
|
存储 关系型数据库 MySQL
【赵渝强老师】使用select...into outfile语句备份MySQL
本文介绍了MySQL中使用`SELECT...INTO OUTFILE`语句将表数据导出为文本文件的方法。通过示例演示了如何备份员工表(emp)的数据,包括创建存储目录、设置权限、配置参数`secure_file_priv`以及解决相关错误的过程。字段分隔符和行终止符可自定义,确保数据格式符合需求。最后展示了备份文件的内容,验证操作成功。
283 36
|
4月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mysqldump备份MySQL
本文介绍了 MySQL 自带的逻辑备份工具 mysqldump 的使用方法。通过 mysqldump,可以将数据库中的数据转换为对应的 SQL 插入语句,便于备份和还原。文章详细说明了如何备份所有数据库、指定数据库及特定表,排除某些表不备份的操作,以及删除数据库后如何通过备份文件恢复数据。同时提供了视频讲解和具体命令示例,帮助用户更好地理解和应用该工具。
182 5
|
5月前
|
关系型数据库 MySQL Linux
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
258 20
|
4月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mydumper备份MySQL
本文介绍了使用mydumper工具进行MySQL数据库备份与恢复的操作方法。相比单线程工作的mysqldump,mydumper支持多线程,速度提升可达10倍。其功能包括事务性表快照、快速压缩、导出binlog等,并提供详细的参数说明和操作步骤。文章通过实例演示了安装mydumper、创建存储目录、全库备份、指定数据库及表备份、删除数据库以及使用myloader恢复数据的完整流程,并附带视频讲解,帮助用户更好地理解和应用该工具。
119 0
|
6月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
284 28
|
6月前
|
Java 数据库
jsp CRM客户管理系统(含数据库脚本以及文档)
jsp CRM客户管理系统(含数据库脚本以及文档)
126 10
|
6月前
|
存储 关系型数据库 MySQL
利用Cron表达式实现MySQL数据库的定时备份
以上就是如何使用Cron表达式和mysqldump命令实现MySQL数据库的定时备份。这种方法的优点是简单易用,而且可以根据需要定制备份的时间和频率。但是,它也有一些限制,例如,它不能备份MySQL服务器的配置文件和用户账户信息,也不能实现增量备份。如果需要更复杂的备份策略,可能需要使用专门的备份工具或服务。
137 15
|
6月前
|
Java 关系型数据库 MySQL
Java汽车租赁系统源码(含数据库脚本)
Java汽车租赁系统源码(含数据库脚本)
108 4

推荐镜像

更多