服务器怎样迁移---服务器迁移篇(WindowsServer2008SVN服务器迁移到Linux)

服务器怎样迁移—服务器迁移篇(WindowsServer2008SVN服务器迁移到Linux)

由于公司Windows服务器不太稳定,最近又被黑客攻击,于是进行数据迁移
我们准备把WindowsServer2008上的数据都迁移到CentOS7上
由于数据量太大以及平台兼容性,我们舍弃部分软件,迁移一些核心的东西
由于我们的某些项目是部署在SVN上面的,于是乎,我们先来迁移SVN服务器
svn导出数据命令如下,其中 “D:\data\svndata\system”代表SVN仓库
例如:svnadmin dump “D:\data\svndata\system” > D:\backup\system.dump
在这里插入图片描述
由于项目很多,不想一条一条执行浪费时间,于是编写如下自动化batch脚本
命名为dump.bat
该脚本放在SVN仓库下执行

::create Joker
::time 03/13
@echo off 
set dump=.dump
md C:\dump
for /d %%c in (*) do (
    echo ===========start============
    echo  Working on files:
    echo %cd%\%%c
    :: svnadmin dump “D:\data\svndata\system” > D:\backup\system.dump
    :: 由于当时安装SVN服务器的时候没有配置环境变量 导出时使用svnadmin的绝对路径
    "D:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe" dump  %cd%\%%c > C:\dump\%%c%dump%
    echo %cd%\%%c%dump% >> dump.txt
    echo Complete!
    echo ============end=============
)
echo Success!!
pause

等执行完成之后显示如下(项目多要好久好久)
在这里插入图片描述
我们上面是导出到C:\dump下
在这里插入图片描述
导出完毕后本来想在Linux服务器上搭建一个Samba或者ftp传文件的,由于是阿里云服务器,不像麻烦管理员开端口,于是下载xhell和xftp,直接使用xftp传文件了,由于文件大,果然传了半天(脏话***)
传完之后如下
在这里插入图片描述
在这里插入图片描述
在Linux中安装SVN
yum install subversion -y
在这里插入图片描述
进入前面从windows上传过来的那个目录编写如下shell脚本
命名为load.sh
使用chmod u+x load.sh给予执行权限

#!/bin/bash
# create Joker
# time 03/14
dumpfilelist=`ls *.dump`
count=0
datapath=/root/svn/svndata/
mkdir $datapath -p
starttime=`date +"%Y-%m-%d %H:%M:%S"`
echo starttime:$starttime
for dumpfile in $dumpfilelist;
do
    echo =======start========
    echo "Being implemented:"$dumpfile"!"
    # svnadmin load /data/svndata/system < /data/backup/system.dump
    # svnadmin load /svn/data/$file < $dumpfile
    file=`echo $dumpfile | awk -F '.' '{ print $1 }'`
    let count+=1
    echo Count:$count,BeingCreate:$file!
    #svnadmin create /data/svndata/system
    svnadmin create $datapath$file
    svnadmin load $datapath$file < $dumpfile
    echo $datapath$file
    echo Complete!!!
    echo ========end=========
done
endtime=`date +"%Y-%m-%d %H:%M:%S"`
echo endtime$endtime
tart_seconds=$(date --date="$starttime" +%s);
end_seconds=$(date --date="$endtime" +%s);
echo "SumTime: "$((end_seconds-start_seconds))"s"
echo Success!!!

在这里插入图片描述
./load.sh执行,显示如下
在这里插入图片描述
慢慢的数据就导过来来了
当然也可以使用
nohup ./load.sh &
后台执行然后睡觉第二天再处理后续操作
在这里插入图片描述
大概一个半小时数据全部导入了
在这里插入图片描述
设置版本库启动SVN
在这里插入图片描述
好了,我只负责迁移,其他加权限什么的就不归我管了,去迁移其他数据了,其余的步骤博主就在此省略了,可以自行去搜索SVN for Linux去看看具体怎么配置的

如果有人对我写的脚本有疑问可以通过下面方式联系
QQ:2351147520
或发邮件到
[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章