trac和subversion的备份和恢复

news/2024/7/9 21:13:24 标签: subversion, 数据库, 服务器, postgresql, ssh

        因为我现在面临的问题是将一台服务器上的所有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



http://www.niftyadmin.cn/n/845558.html

相关文章

MYSQL 5.7 压缩包安装

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/51272416 版本&#xff1a;mysql-5.7.12-winx64 安装步骤&#xff1a; 1. 官网下载 mysql-5.7.12-winx64.zip 解压缩到 D:\Program Files\mysql-5.…

高性能缓存Memcached服务深度原理及实战

高性能缓存Memcached服务深度原理及实战http://edu.51cto.com/course/course_id-3548.html深度掌握核心运维及DBA技术&#xff0c;成就自己的IT人生&#xff01;本课程适合人群&#xff1a;开发领域、运维领域、DBA领域课程列表01-Memcached是什么.mp402-Memcached的作用.mp403…

直方图均衡化的算法和代码

直方图均衡化算法分为三个步骤&#xff0c;第一步是统计直方图每个灰度级出现的次数&#xff0c;第二步是累计归一化的直方图&#xff0c;第三步是计算新的像素值。 第一步&#xff1a; for(i0;i<height;i){for(j0;j<width;j){n[s[i][j]];}}for(i0;i<L;i){p[i]n[i]/(w…

事件绑定、setTimeout的简单替代

为什么80%的码农都做不了架构师&#xff1f;>>> //6.6 Ext.utilClickRepeater 事件绑定//6.6.1 click()点击//6.6.2 mousedown()鼠标按下//6.6.3 mouseup() 释放鼠标var pan new Ext.Panel({title : event,height: 200,width : 300,renderTo : hr_panel,frame : t…

Hibernate中单向一对多删除级联数据问题

public static void main(String[] args) {// test();// test1();// test2();// test3();// test4();// test5();// 测试one2many 单向test6();// 测试单向 维护关系 delete删除操作// test7();// 测试单向 维护关系 delete更新操作// test8();}private static void test8() {/…

中值滤波在图像去噪点中的应用

中值滤波是一种非线性的图像平滑方法&#xff0c;与均值滤波器以及其他线性滤波器相比&#xff0c;它能够很好地滤除脉冲噪声&#xff0c;同时又能够保护目标图像边缘。它是一种邻域运算&#xff0c;类似于卷积&#xff0c;但计算的不是加权求和&#xff0c;而是把邻域中的像素…

What is hmux in resin?

When I start the Resin server it says hmux listening to localhost:6802What is this hmux? Is this a service or just resin use it for itself? This is a sample of Resin output: Resin 3.0.2-beta (built Mon Aug 4 09:26:44 PDT 2003) Copyright(c) 1998-2003 Cau…

函数表达式和函数声明~(自己的记录)

在ECMAScript中&#xff0c;创建函数的最常用的两个方法是函数表达式和函数声明&#xff0c;两者期间的区别是有点晕&#xff0c;ECMA的规范明确了一点~函数声明必须带有标示符 &#xff08;Identifier&#xff09;就是大家说的&#xff08;函数名&#xff09;&#xff0c;而函…