と言うのが今まで結構疑問で、
FTPで一旦ダウンロードしてから別のサーバにアップロードしてたこともあったんですが…
無知というのは恐ろしいものでございます。
rsync使ったら一瞬じゃないですか。
がーん。
参考サイト
rsync + ssh でファイルの同期をとる | レンタルサーバー・自宅サーバー設定・構築のヒントというわけで、さくらインターネット・プレミアムからさくらのVPSへWikiディレクトリをサーバ間コピー。
Wikiディレクトリは地味にファイル数が多いため、FTP介すと結構大変なのですね。
rsync使えばこれだけ。時間も1秒以下。
rsync -auz --delete --exclude=".svn" -e "ssh -p 22222" /home/user/www/wiki user@xxx.xxx.xxx.xxx:/var/lib/www
使っているオプションはこんな感じ。
- -a
- アーカイブモード(-rlptgoDオプション)
- -u
- アップデートのみ許可(上書き禁止)
- -z
- 圧縮して転送
- –delete
- 送信側にないファイルを削除
- –exclude=”.svn”
- 「–exclude」は特定のパターンに当てはまるファイルをコピーしない設定。この場合、subversionのバージョンファイルがアップされない。チェックアウトすれば…という話もあるけど、レポジトリを作り直したかったので。
- -e “ssh -p 22222”
- ポートを指定した上でssh通信
これを実行するとこんな感じのメッセージが出るのでyes。
The authenticity of host '[xxx.xxx.xxx.xxx]:22222 ([xxx.xxx.xxx.xxx]:22222)' can't be established.
DSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
known hostsに追加されたあと、送信先サーバのパスワードを聞かれるので入力。
Warning: Permanently added '[xxx.xxx.xxx.xxx]:22222' (DSA) to the list of known hosts.
user@xxx.xxx.xxx.xxx's password:
これで完了。
なんという簡単な…ビックリだ。
サーバそのもののコピーにも使われてるみたいだけど、それも納得。
知って良かった。