当前位置: 首页 > 网络应用技术

Shell脚本实现MySQL数据库双 - 机器及时备份

时间:2023-03-06 01:36:16 网络应用技术

  最近,有一个需求需要对数据库进行双重机器备份。备份是每天早晨的备份,并且需要主机来保留记录的最后15天。仔细研究(疯狂的百度),我们决定使用Shell脚本来添加定时任务来满足这一需求。

  考虑到一些朋友MySQL使用Docker部署,我们还将在Docker环境中发布部署脚本。

  环境准备:

  期望命令的脚本是离线粘贴的

  放置上述脚本所需的两个包的下载地址

  http://nchc.dl.sourceforge.net/sourceforge/tcl8.4.11-src.tar.gz

  http://sourceforge.net/projects/expect/expect/5.45/expect5.45.45.tar.gz/download

  让我们手动确认脚本的密钥命令,以确保可以正常执行脚本。

  SQL脚本正常导出。

  第一个副本失败了,因为另一台计算机需要确保路径/data/mysql_backup/此路径存在,并且它可以再次成功。

  1.非dockermysql

  2. Docker Container Mysql

  注意:如果您是直接从Windows上传的Shell脚本,则应报告以下错误。

  这是因为还有更多备份文件吗?

  一般原因是Windows中创建的文件格式是由于DOS格式引起的。

  解决方案如下:

  1.在Windows下转换:

  使用诸如UltraeDitit或EditPlus之类的工具来切换脚本编码,然后将其放入Linux中。转换方法如下(Ultraedit):file-> consventions-> dos-> unix。

  2.将vim转换为使用linux下的vim打开sh文件,enter :: set ff enter,dishing file format = dos,并设置redo :: set ff = unix save exit :: wq的文件格式

  重新执行命令

  添加如下以下

  正面是玉米表达,代表每天三点钟。

  在此处放置一个可以在Cron表达式中使用的段落。

  稍后是Shell脚本的绝对路径,稍后将添加到日志文件中。

  保存并退出。

  此时,任务已经完成!

  原始:https://juejin.cn/post/712195576786684104