服務器怎樣遷移---服務器遷移篇(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]

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