上次我写了一篇confluence的安装与配置,今天写一下如何备份与迁移。
OS:Centos 5.5,confluence版本:3.2,mysql:5.0
官方文档:http://confluence.atlassian.com/display/CONF32/Migrating+Confluence+Between+Servers

迁移实录:
在服务器192.168.9.45上做备份,主要是备份两个目录,即安装目录和家目录,还有就是备份数据库:
  1. cd /usr/local
  2. zip -r /usr/local/confluence-3.2-std.zip /usr/local/confluence-3.2-std
  3. sz confluence-3.2-std.zip --下载到本地,呆会再上传到另一台服务器上
  1. cd /var
  2. zip -r confluence3.2.zip confluence3.2
  3. sz confluence3.2.zip
  1. mysqldump -u root -p confluence >/home/hdt/confluence.sql
  2. cd /home/hdt
  3. sz confluence.sql
在服务器192.168.9.53上做恢复:
首先要安装Mysql,要保证和原服务器的版本一致,这里两台服务器都使用Yum的方式进行安装。
  1. mysql -u root -p
  2. create database confluence; --创建和原服务器相同的数据库
  3. grant all on confluence.* to ‘test’@”%” identified by ‘test’; --添加和原服务器相同的帐号及密码
  4. mysql -u test -p --测试本机连接
  1. cd /usr/local
  2. rz confluence-3.2-std.zip --把刚才下载到本地的备份上传到服务器
  3. unzip confluence-3.2-std.zip
  1. cd /var
  2. rz confluence3.2.zip 
  3. unzip confluence3.2.zip
  1. rz confluence.sql
  2. mysql -u root -p confluence <confluence.sql
启动程序:/usr/local/confluence-3.2-std/bin/startup.sh
测试访问:http://192.168.9.53:8080

已做成脚本,不用再手动备份!如下:
在服务器192.168.9.45上:
脚本目录:cd /root/shells
目录备份脚本zip.sh:
  1. #!/bin/bash
  2. # 2011-01-18 by qinshan.li
  3. #
  4. /usr/bin/zip -r /opt/confluence-3.2-std-$(date +%F).zip /usr/local/confluence-3.2-std
  5. /usr/bin/zip -r /opt/confluence3.2-$(date +%F).zip /var/confluence3.2

  6. for FILE in $(find /opt -name "confluence*.zip" -print)
  7. do
  8. /usr/bin/zip -T ${FILE}
  9. if [[ $? == 0 ]]; then
  10. scp ${FILE} hdt@192.168.9.53:/home/hdt && rm -f ${FILE}
  11. fi
  12. done
  13. fi
数据库备份脚本dump.sh:
  1. #!/bin/bash
  2. # 2011-01-18 by qinshan.li
  3. #
  4. mysqldump -uroot -p"12345" confluence >/opt/confluence-$(date +%F).sql
  5. scp /opt/confluence-$(date +%F).sql hdt@192.168.9.53:/home/hdt && rm -f /opt/confluence-$(date +%F).sql
cron任务脚本:
10 3 * * * /root/shells/dump.sh &
15 3 * * * /root/shells/zip.sh >>/root/shells/log 2>&1 &

恢复策略:
在服务器192.168.9.53上:
恢复安装目录:
  1. unzip /home/hdt/confluence-3.2-std-$(date +%F).zip -d /
恢复家目录:
  1. unzip /home/hdt/confluence3.2-$(date +%F).zip -d
恢复数据库:
  1. mysql -u root -p confluence </home/hdt/confluence-$(date +%F).zip
注:把上述命令中的$(date +%F)换成想要恢复的日期,若要恢复今天的备份,不用修改,直接执行即可。