上次我写了一篇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上做备份,主要是备份两个目录,即安装目录和家目录,还有就是备份数据库:
cd /usr/local zip -r /usr/local/confluence-3.2-std.zip /usr/local/confluence-3.2-std sz confluence-3.2-std.zip --下载到本地,呆会再上传到另一台服务器上 cd /var zip -r confluence3.2.zip confluence3.2 sz confluence3.2.zip mysqldump -u root -p confluence >/home/hdt/confluence.sql cd /home/hdt sz confluence.sql
在服务器192.168.9.53上做恢复:
首先要安装Mysql,要保证和原服务器的版本一致,这里两台服务器都使用Yum的方式进行安装。
mysql -u root -p
create database confluence; --创建和原服务器相同的数据库
grant all on confluence.* to ‘test’@”%” identified by ‘test’; --添加和原服务器相同的帐号及密码
mysql -u test -p --测试本机连接 cd /usr/local rz confluence-3.2-std.zip --把刚才下载到本地的备份上传到服务器 unzip confluence-3.2-std.zip cd /var rz confluence3.2.zip unzip confluence3.2.zip rz confluence.sql 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:
#!/bin/bash # 2011-01-18 by qinshan.li # /usr/bin/zip -r /opt/confluence-3.2-std-$(date +%F).zip /usr/local/confluence-3.2-std /usr/bin/zip -r /opt/confluence3.2-$(date +%F).zip /var/confluence3.2 for FILE in $(find /opt -name "confluence*.zip" -print) do /usr/bin/zip -T ${FILE} if [[ $? == 0 ]]; then scp ${FILE} [email protected]:/home/hdt && rm -f ${FILE} fi done fi 数据库备份脚本dump.sh: #!/bin/bash # 2011-01-18 by qinshan.li # mysqldump -uroot -p"12345" confluence >/opt/confluence-$(date +%F).sql scp /opt/confluence-$(date +%F).sql [email protected]:/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上:
恢复安装目录:
unzip /home/hdt/confluence-3.2-std-$(date +%F).zip -d /
恢复家目录:
unzip /home/hdt/confluence3.2-$(date +%F).zip -d
恢复数据库:
mysql -u root -p confluence </home/hdt/confluence-$(date +%F).zip
注:把上述命令中的$(date +%F)换成想要恢复的日期,若要恢复今天的备份,不用修改,直接执行即可。