trac和subversion的备份和恢复

        因为我现在面临的问题是将一台服务器上的所有trac服务全部移植到另一台新的服务器上,所以需要对所有数据和资料进行备份移植。备份的过程也是有一定顺序的。

1.数据库的备份和恢复

        数据库的备份是很重要的,以为数据库存储了trac的项目信息,如果没有完整移植,会影响后面的所有工作。我们使用的是postgres数据库。postgres数据库自带了导出数据和导入数据的功能,可以参考后面的连接。数据的导出需要在原服务器上进行,也可以从其他客户端使用ssh登录服务器进行。命令很简单,不过要先切换到postgres用户:
sudo  su  postgres   # 切换到postgres用户
pg_dump  trac > trac.bak  #备份trac数据库 
        数据库本分完毕后,我们在新服务器上使用ssh的远程拷贝功能,将备份文件复制到新服务器上进行移植:
ssh  root@115.156.219.36  # 输入密码
sudo  su  postgres   # 切换到postgres用户
scp  trac.bak  root@115.156.219.42:/home/trac/trac.bak   # 输入密码

        在新服务器上进行操作:

sudo  su  postgres   # 切换到postgres用户
createuser  -A  -D  -P  hcx    # 创建smartcar用户,该用户要与原数据库的用户相同
Shall the new role be allowed to create more new roles? (y/n)  y
createdb  -O  hcx  trac  # 创建trac数据库,如果已经存在,要用dropdb命令删除数据库再创建
psql  trac < /home/trac/trac.bak    #数据库还原
exit  # 退出postgres用户,回到正常用户提示行
        参考连接
PostgreSQL数据库基本命令:http://blog.csdn.net/w375179337/article/details/6067712

2.trac的备份和恢复

        trac的备份可以直接复制trac的仓库,但是不提倡这种方法,因为这种方法会产生一些不必要的麻烦。trac本身带有一种热备份的工具,就是可以在服务器运行的同时进行备份。命令很简单
sudo  trac-admin  /var/www/trac  hotcopy   /home/trac_bak

        恢复也很简单,将备份的文件复制到服务器相应的位置,并注意将文件夹用户修改为apache用户,即:
scp  -r   /home/trac_bak   root@115.156.219.42:/home/trac/trac  #远程拷贝
sudo  chown  -R  www-data:www-data   /home/trac/trac 
sudo  trac-admin  /home/trac/trac  upgrade  
sudo  trac-admin  /home/trac/trac  wiki  upgrade  
        然后要修改trac.ini文件的部分路径,更新服务器即可。trac插件的移植,我一直都没有想到很好的办法,所以插件都是手动安装的。

3.svn的备份和还原

        完全备份和增量备份svn:
sudo svnadmin  dump  /svn/project/www > full.svn.bak      #完全备份/svn/project/www这个版本库,并另存为full.svn.bak
sudo svnadmin  dump  /svn/project/www -r 8 –incremental > svn.bak.1     #以增量把版本库8转存到svn.bak.1
        参数介绍:
-r [--revision] :指定版本ARG(或X:Y范围)
–incremental :以增量方式进行转存
–deltas :在转存输出中使用差异
-q [--quiet] :在标准错误输出不显示进度(仅错误)

        dump备份还原:
sudo svnadmin create /svn/project/test               #创建一个新的版本库
sudo svnadmin load /svn/project/test < full.svn.bak #现还原完全备份
sudo svnadmin load /svn/project/test < svn.bak.1     #再还原增量备份的内容
        热拷贝:
sudo svnadmin hotcopy /svn/project/www /root/backup.svn.www/       #热拷贝www这个版本库,可以直接拿来用

参考连接
Ubuntu下SVN服务器的安装和配置备份:http://sinykk.iteye.com/blog/859253


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值