mysql增量备份脚本
2024-10-19 11:44:43
#!/bin/sh
###############################
# 此脚本用来增量备份
# 此文件名:mysqldailybackup.sh
#
# Author: zhangrox
# mail: hienha@163.com
# create: 2013/06/29
#
# 每个星期一到六早上3点做一次增量备份(加 & 为后台执行)
# 0 3 * * 1-6 root /backup/mysql/daily_backup/mysqldailybackup.sh &
#
# 不使用mysqlbinlog来做增量备份的原因:mysql启动后会产生mysql-bin这样的文件,每启动一次,就会增加一个或者多个。
###############################
#设置用户名和密码
mysql_user="root"
mysql_password=""
#mysql安装全路径
mysql_dir=/usr/local/mysql/bin
#备份数据库(多数据库,用逗号隔开)
mysql_databases="quanfan"
#设置备份路径,创建备份文件夹
backup_dir=/backup/mysql
full_backup_dir=$backup_dir/daily_backup
#备份的时间
today=$(date +%Y%m%d_%H%M%S)
#备份日志文件
log_file=daily_backup.log
#只保留最近10个星期的备份(其他删除)
time=$(date "-d 70 day ago" +%Y-%m-%d %H:%M:%S)
#开始备份,记录备份开始时间 并压缩备份文件
echo -e '['$(date +"%Y-%m-%d %H:%M:%S")'] - '$mysql_databases' - '"备份开始\n" >> $backup_dir/$log_file
#判断目标目录是否已经存在
if [! -d $full_backup_dir] then
mkdir -p $full_backup_dir
fi
echo -e '['$(date +"%Y-%m-%d %H:%M:%S")'] - '$mysql_databases' - '"备份并压缩备份文件\n" >> $backup_dir/$log_file
#备份INNODB 使用下面代码 并压缩备份文件
$mysql_dir/mysqldump -u$mysql_user -p$mysql_password --apply-slave-statements --master-data=2 --single-transaction --flush-logs --databases $mysql_databases | gzip > $full_backup_dir/$today.sql.gz
#备份MyISAM 使用下面代码
#$mysql_dir/mysqldump -u$mysql_user -p$mysql_password --apply-slave-statements --master-data=2 --lock-all-tables --flush-logs --databases $mysql_databases | gzip > $full_backup_dir/$today.sql.gz
#找出70天前备份的文件,然后删除
echo -e '['$(date +"%Y-%m-%d %H:%M:%S")'] - '$mysql_databases' - '"删除10星期前的备份\n" >> $backup_dir/$log_file
for file in `find -not -type d -mtime +70`
do
rm -rf $file
done
最新文章
- fdfdfdfdfdfdfdfdfdfdfd
- Redis使用总结(1):基础使用
- 根据Url 获取图片尺寸 iOS
- IC系统组成概论
- sql中的行转列和列转行的问题
- ylbtech-Unitity-CS:Hello world
- mysql 中浮点型与定点型记录
- UI4_UITableViewEdit
- C# json to dynamic object
- uva 352 - The Seasonal War
- ●POJ 2284 That Nice Euler Circuit
- 【机器学习】--xgboost从初识到应用
- circRNA 中的ALU 重复元件
- Java基础 【Arrays 类的使用】
- kbmmw 的HTTPSmartService中的跨域访问
- python中hashlib md5
- webrtc 开发之前必须了解的东西
- sublime text 插件 -- 获取文件名到剪贴板
- Oracle 数据库备份启用压缩以及remap
- 深海划水队项目---七天冲刺day2
热门文章
- Error : .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as.logical(now), ...) error: 无法载入共享目标对象‘D:/Program Files/R/R-3.2.2/library/rJava/libs/x64/rJava.dll
- Spring WebSocket实现消息推送
- 巨蟒python全栈开发flask10 项目开始2
- Exchange NLB 单播和多播模式比较
- ios开发 更改状态栏
- GROUP_CONCAT 拼接顺序
- [LeetCode] 9.Palindrome Number - Swift
- 荣誉墙项目day26 django 项目路由配置
- apt-get tips
- 源码包安装(Python mysql redis)