CentOS MySQL自动备份shell脚本
先执行 vim/mysqlBack/back.sh
然后添加以下内容
- ## 记录日志
- # 以下配置信息请自己修改
- mysql_user="root" #MySQL备份用户
- mysql_password="pass" #MySQL备份用户的密码
- mysql_host="192.168.…………"
- mysql_port="3306"
- mysql_charset="utf8" #MySQL编码
- backup_db_arr=("xxx" "test") #要备份的数据库名称,多个用空格分开隔开 如("db1" "db2" "db3")
- backup_location=/mysqlBack/mysql #备份数据存放位置,末尾请不要带"/",此项可以保持默认,程序会自动创建文件夹
- expire_backup_delete="ON" #是否开启过期备份删除 ON为开启 OFF为关闭
- expire_days=5 #过期时间天数 默认为三天,此项只有在expire_backup_delete开启时有效
- # 本行开始以下不需要修改
- backup_time=`date +%Y%m%d%H%M` #定义备份详细时间
- backup_Ymd=`date +%Y-%m-%d` #定义备份目录中的年月日时间
- backup_3ago=`date -d '3 days ago' +%Y-%m-%d` #3天之前的日期
- backup_dir=$backup_location/$backup_Ymd #备份文件夹全路径
- welcome_msg="Welcome to use MySQL backup tools!" #欢迎语
- # 连接到mysql数据库,无法连接则备份退出
- mysql -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password <<end
- use mysql;
- select host,user from user where user='root' and host='39.106.27.114';
- exit
- end
- flag=`echo $?`
- if [ $flag != "0" ]; then
- echo "ERROR:Can't connect mysql server! backup stop!"
- exit
- else
- echo "MySQL connect ok! Please wait......"
- # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份
- if [ "$backup_db_arr" != "" ];then
- #dbnames=$(cut -d ',' -f1-5 $backup_database)
- #echo "arr is (${backup_db_arr[@]})"
- for dbname in ${backup_db_arr[@]}
- do
- echo "database $dbname backup start..."
- `mkdir -p $backup_dir`
- `mysqldump -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password $dbname --default-character-set=$mysql_charset | gzip > $backup_dir/$dbname-$backup_time.sql.gz`
- flag=`echo $?`
- if [ $flag == "0" ];then
- echo "database $dbname success backup to $backup_dir/$dbname-$backup_time.sql.gz"
- else
- echo "database $dbname backup fail!"
- done
- else
- echo "ERROR:No database to backup! backup stop"
- exit
- fi
- # 如果开启了删除过期备份,则进行删除操作
- if [ "$expire_backup_delete" == "ON" -a "$backup_location" != "" ];then
- #`find $backup_location/ -type d -o -type f -ctime +$expire_days -exec rm -rf {} \;`
- `find $backup_location/ -type d -mtime +$expire_days | xargs rm -rf`
- echo "Expired backup data delete complete!"
- fi
- echo "All database backup success! Thank you!"
- exit
- fi
- 保存
- 然后添加定时执行
- crontab -e
- 添加以下内容
- 00 03 * * 1 /mysqlBack/back.sh
- 保存
- 重启 crontab 服务
- service crond restart
CentOS MySQL自动备份shell脚本的更多相关文章
- MySQL自动备份shell脚本
在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分为热备和冷备,按照备份数据库文件的大小 ...
- MySql自动备份shell
MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...
- [原创]MYSQL周期备份shell脚本
这个脚本是实现阿里云mysql数据库全量周期备份的shell脚本,实现备份数据按一周星期几分开存放.一下是脚本内容: #!/bin/bash echo `date`echo "backup ...
- CentOS Mysql自动备份 .txt
http://fly.b3log.org/articles/2011/10/25/1319505473928.html MySql数据库备份: 说明:我这里要把MySql数据库存放目录/var/lib ...
- 【shell脚本】mysql每日备份shell脚本
每天固定时间用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab ...
- mysql定时备份shell脚本
#!/bin/bash #每天早上4点, mysql备份数据 # backup.sh #crontab -e # * * * /home/erya/run/moniter/mysql_backup.s ...
- centos7 mysql自动备份
MySQL自动备份shell脚本 在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分 ...
- mysql自动备份维护shell脚本 (copy)
#!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 # * * * backupmysql.sh #压缩并以&qu ...
- mysql 自动备份和nginx自动安装脚本
一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...
随机推荐
- pytoch之 encoder,decoder
import torch import torch.nn as nn import torch.utils.data as Data import torchvision import matplot ...
- zabbix-proxy配置文件参数说明
配置文件路径: /etc/zabbix/zabbix_proxy.conf Server=10.0.0.10 #<===指定zabbix server的ip地址或主机名 Hostname=zab ...
- Swift 枚举-从汇编角度看枚举内存结构
一.基本使用 先看枚举的几种使用(暂不要问,看看是否都能看懂,待会会逐一讲解) 1.操作一 简单使用 //第一种方式 enum Direction { case east case west case ...
- Linux监控-历史细项数据回溯
Linux监控数据回溯 网络服务监控 应用场景: lvs 后端内网端机器网络波动监控: nginx 80.443端口连接监控: mysql 连接监控 以上为抛砖引玉,根据环境安装到监控工具(open ...
- MySQL手工注入学习-1
MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...
- 微信小程序组件构建UI界面小练手 —— 表单登录注册微信小程序
通过微信小程序中丰富的表单组件来完成登录界面.手机快速注册界面.企业用户注册界面的微信小程序设计. 将会用到view视图容器组件.button按钮组件.image图片组件.input输入框组件.che ...
- Android中使用AlertDialog实现几种不同的对话框
场景 app中常见的对话框. 简单的带确定取消按钮的对话框 带列表的对话框 带单项选择的对话框 带多项选择的对话框 注: 博客: https://blog.csdn.net/badao_liumang ...
- Android中Chronometer计时器的简单使用
场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...
- [Contract] Solidity 遍历 mapping 的一种方式
思路:为需要遍历的 mapping 再准备一个 list,之后通过 for 循环遍历 list 取得 mapping 的 key. mapping (address => uint) users ...
- .NET CORE(C#) WPF 抽屉式菜单
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF 抽屉式菜单 阅读导航 本文背景 代码实现 本文参考 源码 ...