サーバ間のsvnバージョンライブラリの移行作業


これまでのコードは退役したパソコンにインストールされていたため、性能が十分ではなく、開発サーバが構築されていたため、すべてのsvnバージョンライブラリを新しい開発サーバに移行したいと考えています.以下は自分の移行プロセスです.参考にしてください.
古いサーバ:202.0.0.4
新しいサーバ:202.0.0.28
  • 古いサーバのsvnディレクトリの下に入ります.svnのルートディレクトリはsvnrootで、すべてのプロジェクトコードはこのディレクトリの下にあります.一括移行を実現するために、shellスクリプトを書きました.
  •         
    #!/bin/sh
    cd svnroot
    for name in `ls`
    do
    echo $name
    sudo svnadmin dump /home/svnroot/$name > ../dumpdir/$name.dump
    done
    ~

    実装される機能は、ディレクトリの下のすべてのプロジェクトをsumpdirディレクトリにパッケージ化し、プロジェクトの名前にdump接尾辞を付けることです.スクリプトを実行します.
    2.新しいサーバーに入って、まず古いサーバーを梱包したdumpファイルをコピーして、私が直接使ったscpコマンド:
    sudo scp [email protected]:/home/dumpdir/* ./dumpdir/

    3.依然として新しいディレクトリの下で、すべてのdumpファイルをsvnバージョンライブラリにインポートする準備をして、依然としてshellスクリプトを書いた.
    #!/bin/sh
    cd dumpdir
    for name in `ls`
    do
    str=${name%.*}
    mkdir -p ../svn/$str
    sudo svnadmin create ../svn/$str
    sudo svnadmin load ../svn/$str < /usr/dumpdir/$name
    done

    このスクリプトの機能は、dumpdirのdumpファイルの名前(dump接尾辞なし)をプロジェクト名として取り出し、プロジェクトのバージョンライブラリを作成し、dumpファイルをインポートすることです.スクリプトを実行してから終了を待つだけです.
    4.移行が完了したかどうかを確認し、ディレクトリを探して、次のsvn coを実行します.svn://202.0.0.28/project.成功
    簡単じゃないの?svnとshellの強さに感嘆せざるを得ない