发布于 

confluence 备份与恢复

confluence是技术团队重要的知识资产,为了服务器发生故障后快速恢复,做了一次恢复演练,本文记录备份和恢复步骤。

备份

confluence 每天会自动备份文件到 /var/atlassian/application-data/confluence/backups
新增定时任务,每天将备份的文件拷贝到远程服务器:

1
2
crontab -l
0 0 3 * * ? sh /var/atlassian/application-data/confluence/backups/backup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

scp_linux_path='/var/atlassian/application-data/confluence/backups/'
scp_102_uri='root@192.168.9.102:/mnt/tangliu/conf/'
scp_log_path='/var/atlassian/application-data/confluence/backups/backup.log'

time=$(date +%Y-%m-%d\ %H:%M:%S)
filename=`ls $scp_linux_path -t |grep zip |head -n1 |awk '{print $0}'`
echo [$time] $scp_linux_path$filename >> $scp_log_path
scp $scp_linux_path$filename $scp_102_uri

# 清理旧文件
delfile=`ls -l -crt $scp_linux_path/*.zip | awk '{print $9 }' | head -1`
count=`ls -l -crt $scp_linux_path/*.zip | awk '{print $9 }' | wc -l`
echo "total count $count" >> $scp_log_path
if [ $count -gt 7 ]
then
rm $delfile
echo "delete $delfile" >> $scp_log_path
fi

恢复步骤

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# 登录服务器
ssh root@192.168.9.16

##################################################################################
# 启动mysql容器
docker run --name confluence-mysql --restart=always -p 33306:3306 -v /root/soft/docker/confluence-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=*** -d mysql:5.7.30

# 进入mysql容器
docker exec -it confluence-mysql /bin/bash

# 安装vim
apt-get update && apt-get install vim

# 修改配置
vim /etc/mysql/conf.d/docker.cnf,添加以下内容
max_allowed_packet=256M
innodb_log_file_size=2GB
character-set-server=utf8

# 或者在外面编辑好docker.cnf之后docker cp进容器指定位置:
docker cp docker.cnf confluence-mysql:/etc/mysql/conf.d/docker.cnf

# 重启mysql服务
service mysql restart

# 再次进入容器,登录 mysql
mysql -uroot -p

# 创建数据库、指定编码
create database confluence character set 'utf8mb4' collate 'utf8mb4_bin' ;
use confluence;
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;

#################################################################################

# 拉取confluence镜像
docker pull cptactionhank/atlassian-confluence:7.4.0

# 创建目录
mkdir -p /root/soft/docker/confluence

# 下载破解文件并解压
https://files.cnblogs.com/files/sanduzxcvbnm/atlassian-agent-v1.2.3.zip

# 在/root/soft/docker/confluence目录下创建Dockerfile文件,内容如下:
FROM cptactionhank/atlassian-confluence:7.4.0
USER root
# 将代理破解包加入容器
COPY "atlassian-agent-v1.2.3/atlassian-agent.jar" /opt/atlassian/confluence/
# 设置启动加载代理包
RUN echo 'export CATALINA_OPTS="-javaagent:/opt/atlassian/confluence/atlassian-agent.jar ${CATALINA_OPTS}"' >> /opt/atlassian/confluence/bin/setenv.sh

# 创建新镜像
docker build -t confluence:26dudt .

# 启动容器
docker run -v /root/soft/docker/confluence/data:/var/atlassian/confluence -e TZ="Asia/Shanghai" --link confluence-mysql:mysql --privileged=true --restart=always --name="confluence" -d -p 8090:8090 -p 8091:8091 confluence:26dudt

设置和破解

  1. http://192.168.9.16:8090 访问页面,点击右上角切换中文
  2. 选择第二项“产品安装”
    在这里插入图片描述
  3. 获取应用选择第一项“Confluence Questions”
    在这里插入图片描述
  4. 授权码获取
    1
    java -jar atlassian-agent.jar -d -m test@test.com -n BAT -p conf -o http://192.168.9.16:8090 -s 服务器id
    在这里插入图片描述
  5. 填入授权码
  6. 选择部署类型:单机
  7. 数据源选择mysql, 建议使用链接字符串,添加useSSL=false 参数
    在这里插入图片描述
  8. 点击下一步会初始化数据库,需要等一会儿,等进入下一个页面,选择空白站点 (或从备份还原)
  • 若选择空白站点,则需要创建用户,登录,然后右上角选择设置按钮,进入站点管理,选择“备份与还原”, …..后续操作参考从备份还原
  • 若选择从备份还原,则直接在当前页面选择文件,上传并导入
    以上两种方式除了选择“上传并导入”,也可以选择从主目录导入,只需要将备份文件上传到16服务器的 /root/soft/docker/confluence/data/restore 目录(映射到容器的/var/atlassian/confluence/restore)目录,然后点击导入即可
  1. 耐心等待

安装插件

markdown插件

直接搜索安装

drawio插件

参考:Confluence安装Drawio插件