既然备份数据都上传到阿里云对象存储了,下载到本地也不是什么难事。使用ali-oss的和方法即可实现,download.js部分代码如下:
// 获取当天上传到阿里OSS的文件列表 async function listFilesToDownload(day) { const result = await store.list({ prefix: day }); return result.objects; } // 将阿里云OSS中的文件下载到本地 async function downloadFile(fileName, path) { try { const file = fileName.split("http://www.likecs.com/")[1]; const filepath = `${path}/${file}`; await store.get(fileName, filepath); } catch (error) { const message = `download file fail! ${fileName}`; logger.error(message); logger.error(error); fundebug.notifyError(error, { metaData: { error: error, message: message } }); } }代码运行在Docker容器中,部署在本地机器,使用curl命令访问HTTP接口/download即可触发执行下载操作,使用crontab定期执行:
# 每周六中午从阿里云下载备份数据 0 12 * * 6 curl :9160/download 结论本文提到的所有的数据备份方式完全自动化执行,没有什么技术难度,成本也不高,可以极大提高数据安全性。
参考MongoDB被Linux OOM Kill
理解和配置 Linux 下的 OOM Killer
MongoDB文档 - Replication
阿里云MongoDB备份恢复功能说明和原理介绍
MongoDB文档 - mongodump
GPG Encryption Guide - Part 1
GPG Encryption Guide - Part 2 (Asymmetric Encryption)
关于FundebugFundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了6亿+错误事件,得到了Google、360、金山软件等众多知名用户的认可。欢迎免费试用!