省流助手:项目代码中实现定时备份功能
写在前面:项目使用的是docker发布、下午相关同事反馈题库同步功能用不了了有报错,查看服务器这个项目发布的版本发现有段时间没更新了,所以当时想的会不会因为jar包没有更新,于是找到本地项目同步代码加了一些日志打印重新打包,替换docker容器里的jar包 重新start。重新测试同步题库,ok 没问题 ,当最后同步完成提示删除900多道题目突然意识到这个同步功能并不简单。。。原来这项目中题库同步逻辑是:对比题库资源中的题库,先删除题库资源没有的本地题库,再下载题库资源中的本地题库没有的题库!
恢复数据
这时候就体现了定时备份功能重要性了 ,项目中备份是凌晨3点会自动备份数据库
疑惑的是直接拿这定时备份的文件放navicat运行会有错误,猜测可能是代码中实现的定时备份数据库和远程服务器的mysql版本不一致
只好使用编辑器打开备份的数据库文件找到对应的表,前一天的数据库文件1个多g(包含了日志文件),当使用editPlus、navicat等等软件打开, 要么打卡就直接卡死,要么搜索的时候卡死 ,最后,发现了一款神仙软件 EmEditor(https://www.emeditor.com/#download/),是真的好用,秒加载文件、支持查找等功能、还排版、 重要是速度真的快!
好吧 其实就是一款好软件EmEditor的分享,工欲善其事必先利其器。感觉知道这个软件的人还是少数,还是在谷歌搜索到的,最后强调一句项目的定时备份真的很重要!!!