系统简介
  • 郑重声明
  • 使用许可
  • 更新记录
  • 鸣谢列表
  • 界面展示
  • 捐赠列表
  • 环境准备
  • 开始安装
  • 迁移/升级
  • 路由/NAT
  • 开启队列
  • 疑难解答
功能清单
Docker客户端
B站
Gitee
系统简介
  • 郑重声明
  • 使用许可
  • 更新记录
  • 鸣谢列表
  • 界面展示
  • 捐赠列表
  • 环境准备
  • 开始安装
  • 迁移/升级
  • 路由/NAT
  • 开启队列
  • 疑难解答
功能清单
Docker客户端
B站
Gitee
  • 迁移/升级

迁移/升级

备份数据(非常重要)

注意

支持 v2.6,v1.2.5及以上版本

备份数据库

提示

升级不需要备份数据库

mkdir -p /opt/sslvpn-backup
# 社区版v2.4之前是/opt/docker/openvpn/,注意区分!
cd /opt/docker/sslvpn/
# 打包数据库文件
tar zcf data.tgz mysql/
# 移动到sslvpn-backup目录中
mv data.tgz /opt/sslvpn-backup/
# 切换到备份文件夹
cd /opt/sslvpn-backup/
# 备份 baseurl.js 配置文件
cp -a /opt/docker/sslvpn/api/baseurl.js .
# 备份 openvpn 文件夹
docker cp sslvpn-web:/etc/openvpn .
# 备份接口配置文件
docker cp sslvpn-web:/etc/nginx/www/openvpn_api/config/linuxcc.php . 
ls -la

备份完成,结果应该是

-rw-r--r-- 1 root root 619 12 月 25 19:39 api
-rw-r--r-- 1 root root 855375 12 月 25 20:41 data.tgz
drwxr-xr-x 11 root root 204 12 月 15 22:45 openvpn
-rwxrwxrwx   1 root root   1665 4月   2 13:14 linuxcc.php

注意

请注意区分容器名称和路径,本教程适用于专业版 v1.2 版本,之前的容器名称为 openvpn-server,路径是 openvpn!

备份旧容器

# 执行备份命令
docker commit -m="sslvpn-web-bak" -a="linuxcc" sslvpn-web sslvpn-web:bak

# 备份成功的结果
sha256:92e11258b9324c5e836e1c8eaacbce32025b8246073c85251c66ebd368c7f1a3
# 备份好的容器
[root@OPS sslvpn-backup]# docker images
REPOSITORY                           TAG                   IMAGE ID       CREATED          SIZE
sslvpn-web                           bak                   92e11258b932   40 seconds ago   324MB
linuxcc/sslvpn-web                   v1.2                  ac975ef841b3   5 days ago       324MB

提示

我这里的 IMAGE ID [92e11258b932] 是备份的容器 ID,到这里就完成了所有备份操作,若是迁移直接在新服务器重新安装,若是升级你需要删除旧容器[sslvpn-web],然后执行下面脚本来创建新容器[sslvpn-web]即可。

创建新容器

注意

请根据实际情况修改版本号,迁移请直接重新安装,下面是升级的操作,升级只需要创建web容器即可

docker run -d \
--name=sslvpn-web \
--network=host \
--restart=always \
--privileged=true \
-v /etc/localtime:/etc/localtime \
-v /opt/docker/sslvpn/baseurl.js:/etc/nginx/www/dist/baseurl.js \
-v /opt/docker/sslvpn/mysql:/var/lib/mysql \
linuxcc/sslvpn-web:v`版本号`

恢复操作

提示

恢复操作适用于升级和迁移,如果只是升级,那么你不需要执行数据库的操作

cd /opt/sslvpn-backup/
# 覆盖baseurl.js配置文件
cat baseurl.js > /opt/docker/sslvpn/api/baseurl.js
# 停止数据库容器
docker stop sslvpn-mysql
# 进入备份文件夹,导入数据库文件
cd /opt/sslvpn-backup/
tar xf data.tgz -C /opt/docker/sslvpn/
# 启动数据库容器
docker start sslvpn-mysql
# 导入 openvpn 目录
docker cp openvpn/ sslvpn-web:/etc/
# 导入 配置文件
docker cp linuxcc.php /etc/nginx/www/openvpn_api/config/
# 修改权限
docker exec -it sslvpn-web chown -R nginx:nginx /etc/openvpn
docker exec -it sslvpn-web chown -R nginx:nginx /etc/nginx/www/

提示

友情提醒:不要照抄,请区分容器名称和目录结构哦,迁移和升级步骤一样,只不过是一个是升级,一个是重新安装!

最后更新:
贡献者: LINUXCC