先执行  vim/mysqlBack/back.sh

然后添加以下内容

  1. ## 记录日志
  2.  
  3. # 以下配置信息请自己修改
  1. mysql_user="root" #MySQL备份用户
  2. mysql_password="pass" #MySQL备份用户的密码
  3. mysql_host="192.168.…………"
  4. mysql_port="3306"
  5. mysql_charset="utf8" #MySQL编码
  6.  
  7. backup_db_arr=("xxx" "test") #要备份的数据库名称,多个用空格分开隔开 如("db1" "db2" "db3")
  8. backup_location=/mysqlBack/mysql #备份数据存放位置,末尾请不要带"/",此项可以保持默认,程序会自动创建文件夹
  9.  
  10. expire_backup_delete="ON" #是否开启过期备份删除 ON为开启 OFF为关闭
  11. expire_days=5 #过期时间天数 默认为三天,此项只有在expire_backup_delete开启时有效
  12.  
  13. # 本行开始以下不需要修改
  14. backup_time=`date +%Y%m%d%H%M` #定义备份详细时间
  15. backup_Ymd=`date +%Y-%m-%d` #定义备份目录中的年月日时间
  16. backup_3ago=`date -d '3 days ago' +%Y-%m-%d` #3天之前的日期
  17. backup_dir=$backup_location/$backup_Ymd #备份文件夹全路径
  18. welcome_msg="Welcome to use MySQL backup tools!" #欢迎语
  19.  
  20. # 连接到mysql数据库,无法连接则备份退出
  21. mysql -h$mysql_host -P$mysql_port -u$mysql_user -p$mysql_password <<end
  22. use mysql;
  23. select host,user from user where user='root' and host='39.106.27.114';
  24. exit
  25. end
  26.  
  27. flag=`echo $?`
  28. if [ $flag != "0" ]; then
  29. echo "ERROR:Can't connect mysql server! backup stop!"
  30. exit
  31. else
  32. echo "MySQL connect ok! Please wait......"
  33.  
  34. # 判断有没有定义备份的数据库,如果定义则开始备份,否则退出备份
  35. if [ "$backup_db_arr" != "" ];then
  36. #dbnames=$(cut -d ',' -f1-5 $backup_database)
  37. #echo "arr is (${backup_db_arr[@]})"
  38. for dbname in ${backup_db_arr[@]}
  39. do
  40. echo "database $dbname backup start..."
  41. `mkdir -p $backup_dir`
  42. `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`
  43. flag=`echo $?`
  44. if [ $flag == "0" ];then
  45. echo "database $dbname success backup to $backup_dir/$dbname-$backup_time.sql.gz"
  46. else
  47. echo "database $dbname backup fail!"
  48.  
  49. done
  50. else
  51. echo "ERROR:No database to backup! backup stop"
  52. exit
  53. fi
  54.  
  55. # 如果开启了删除过期备份,则进行删除操作
  56. if [ "$expire_backup_delete" == "ON" -a "$backup_location" != "" ];then
  57. #`find $backup_location/ -type d -o -type f -ctime +$expire_days -exec rm -rf {} \;`
  58. `find $backup_location/ -type d -mtime +$expire_days | xargs rm -rf`
  59. echo "Expired backup data delete complete!"
  60. fi
  61. echo "All database backup success! Thank you!"
  62. exit
  63. fi
  1. 保存
chmod 600 /mysqlBack/back.sh
chmod +x /mysqlBack/back.sh
  1. 然后添加定时执行
  1. crontab -e
  1. 添加以下内容
  1. 00 03 * * 1 /mysqlBack/back.sh
  1. 保存
  1. 重启 crontab 服务
  1. service crond restart

CentOS MySQL自动备份shell脚本的更多相关文章

  1. MySQL自动备份shell脚本

    在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分为热备和冷备,按照备份数据库文件的大小 ...

  2. MySql自动备份shell

    MySql黑屏备份是每个运维工程师必备的技能,以下是MySQL自动备份脚本: #/bin/bash#This is mysql backup shell on 2019/4/28 BAKUP_DIR= ...

  3. [原创]MYSQL周期备份shell脚本

    这个脚本是实现阿里云mysql数据库全量周期备份的shell脚本,实现备份数据按一周星期几分开存放.一下是脚本内容: #!/bin/bash echo `date`echo "backup ...

  4. CentOS Mysql自动备份 .txt

    http://fly.b3log.org/articles/2011/10/25/1319505473928.html MySql数据库备份: 说明:我这里要把MySql数据库存放目录/var/lib ...

  5. 【shell脚本】mysql每日备份shell脚本

    每天固定时间用mysqldump 备份mysql数据. #!/bin/bash #每天早上4点, mysql备份数据 orangleliu #chmod 700 backup.sh #crontab ...

  6. mysql定时备份shell脚本

    #!/bin/bash #每天早上4点, mysql备份数据 # backup.sh #crontab -e # * * * /home/erya/run/moniter/mysql_backup.s ...

  7. centos7 mysql自动备份

    MySQL自动备份shell脚本   在数据库的日常维护工作中,除了保证业务的正常运行以外,就是要对数据库进行备份,以免造成数据库的丢失,从而给企业带来重大经济损失.通常备份可以按照备份时数据库状态分 ...

  8. mysql自动备份维护shell脚本 (copy)

    #!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 # * * * backupmysql.sh #压缩并以&qu ...

  9. mysql 自动备份和nginx自动安装脚本

    一.自动备份Mysql脚本: 如下脚本为mysql自动备份脚本,仅供参考,可以根据实际情况修改. #!/bin/sh #auto backup mysql #wugk #Define PATH定义变量 ...

随机推荐

  1. pytoch之 encoder,decoder

    import torch import torch.nn as nn import torch.utils.data as Data import torchvision import matplot ...

  2. zabbix-proxy配置文件参数说明

    配置文件路径: /etc/zabbix/zabbix_proxy.conf Server=10.0.0.10 #<===指定zabbix server的ip地址或主机名 Hostname=zab ...

  3. Swift 枚举-从汇编角度看枚举内存结构

    一.基本使用 先看枚举的几种使用(暂不要问,看看是否都能看懂,待会会逐一讲解) 1.操作一 简单使用 //第一种方式 enum Direction { case east case west case ...

  4. Linux监控-历史细项数据回溯

    Linux监控数据回溯 网络服务监控 应用场景: lvs 后端内网端机器网络波动监控: nginx 80.443端口连接监控: mysql 连接监控 以上为抛砖引玉,根据环境安装到监控工具(open ...

  5. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  6. 微信小程序组件构建UI界面小练手 —— 表单登录注册微信小程序

    通过微信小程序中丰富的表单组件来完成登录界面.手机快速注册界面.企业用户注册界面的微信小程序设计. 将会用到view视图容器组件.button按钮组件.image图片组件.input输入框组件.che ...

  7. Android中使用AlertDialog实现几种不同的对话框

    场景 app中常见的对话框. 简单的带确定取消按钮的对话框 带列表的对话框 带单项选择的对话框 带多项选择的对话框 注: 博客: https://blog.csdn.net/badao_liumang ...

  8. Android中Chronometer计时器的简单使用

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  9. [Contract] Solidity 遍历 mapping 的一种方式

    思路:为需要遍历的 mapping 再准备一个 list,之后通过 for 循环遍历 list 取得 mapping 的 key. mapping (address => uint) users ...

  10. .NET CORE(C#) WPF 抽屉式菜单

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. .NET CORE(C#) WPF 抽屉式菜单 阅读导航 本文背景 代码实现 本文参考 源码 ...