rsyncでsshの鍵を指定してデータ転送

今回は旧サーバから新サーバへいろいろ移設するために便利なrsyncの設定です。
設定というほどのものはありませんが、コマンドをよく忘れるので備忘録として。

今回の手順は以下。
・旧サーバに新サーバへの鍵を設置
・新旧サーバにrsyncをインストール

旧サーバの設定

旧サーバにssh用の鍵を設置して、rsyncをインストールします。

[hogehoge@target ~]$ vi ~/.ssh/id_rsa_new_target  
[hogehoge@target ~]$ chmod 600 ~/.ssh/id_rsa_new_target  
[hogehoge@target ~]$ su -  
[root@target ~]# yum install -y rsync  

簡単ですが、インストールは以上になります。

新サーバにrsyncをインストール

旧サーバにrsyncのインストールが完了したので、新サーバにもrsyncをインストールします。
転送元、転送先それぞれにインストールが必要になるわけですね。

[hogehoge@metal ~]$ su -  
[root@metal ~]# yum install -y rsync  

以上で準備は完了です。
このときに、rsyncでデータを転送する用のフォルダが必要であれば作成しておくと良いです。

データの転送

設定が完了したら、実際にファイルを転送してみましょう。

[hogehoge@target ~]$ rsync -avz --dry-run -e "ssh -i /home/hogehoge/.ssh/id_rsa_new_target -p 22" /home/hogehoge/Maildir/ hogehoge@target.com:/home/hogehoge/Maildir/  
[hogehoge@target ~]$ rsync -avz -e "ssh -i /home/hogehoge/.ssh/id_rsa_new_target -p 22" /home/hogehoge/Maildir/ hogehoge@target.com:/home/hogehoge/Maildir/  

それぞれオプションがいろいろありますがaオプションをつけておくと、いろいろまとめてやってくれます。
こちらを見るとわかりやすいとおもいます。
vは転送内容の表示で、zはファイルの圧縮転送です。

-eオプションを指定することで、認証鍵やポートが指定可能になりますのでいろいろ変えてる方はこれで明示的に指定しましょう。
今回はメールフォルダ以下で試してみました。

--dry-runを行うことで、事前にコマンドがあっているかの確認や転送内容を確認できます。
まずは--dry-runオプションを指定して動作を確認指定から実際に実行しましょう。
特に--deleteオプションをつけているときは、確認せずに実行すると危険なので気をつけましょう。