一.前言
我之前尝试过不使用docker的情况下部署leanote,但是发现特别复杂,在折腾了半天后发现用docker部署非常方便,但是备份又成了难题。
二.思路
首先我们要了解两条命令
“docker exec -it 容器名字 /bin/sh -c 具体命令”这个命令可以在某个容器里执行某条命令而不进入容器
“docker cp 容器名:容器里面的文件路径 要复制到的文件路径”这条命令可以从容器里面复制出文件到系统里面
那么思路就很简单了只要打一个死循环,在docker内部导出备份之后复制到系统里面再上传到oss里面就行了,当然上传之前需要加密,加密我采用了简单有效的rar压缩来实现,rar压缩是一种以安全性出名的压缩方法。
三.准备工作
1.配置oss工具,百度有很多教程我就不当复读机了。
2.在oss里创建用于储存数据的文件夹,这里假设桶名为leanote,路径为leanote。
3.新建一个用于存储临时文件的文件夹这里假设为/oss
四.脚本实现
|
|
注意事项
1.请替换脚本里面所有的汉字
2.密码直接跟在p字母后面没有空格,密码最多127位
3.请使用screen实现后台运行,nohup运行会崩溃,我也不知道原因
五.写在最后
本文章参考了https://www.cnblogs.com/PrintY/p/16491510.html,感谢这位大佬的思路。
这篇网站因为很忙所以折腾了很久,可能有细节遗忘,如果无法复现请发邮件给我.