Linux全般 > rsyncの使い方

更新日 2019-06-08
広告

rsyncは、あるフォルダからあるフォルダへ、中身をコピー(同期)するコマンドです。別のホスト(サーバ)と同期することもできます。

基本的な使い方は、以下です。

$ rsync -av 同期元/ 同期先/

-aオプションはおまじないみたいなものです。-r (ディレクトリを再帰的に同期)や-p (パーミッションの保持)、-t (タイムスタンプ保持)などの「普通、このオプションは指定するよね」ってオプションを全部指定してくれるやつです。とりあえず指定しておきましょう。-vオプションは、同期の様子を表示してくれる。

ネットワーク経由で別ホストと同期する場合は、以下のように、ホスト名とパスをコロン(:)でつないで指定します。

$ rsync -avz 同期元ホスト名:パス 同期先

-zは、同期する際に、データを圧縮して転送するオプションです。ネットワークに優しいです。

ちなみに、-nを指定すれば、試験モードで動作する。まずはこれで、自分が想定したファイルが同期対象になっているかを確認したほうがよいです。

パスワードなしで、同期するには、sshを使う必要あり。同期を開始する側(sshを開始する側)で、鍵のペアを作る。 要はsshでパスワードなしでログインできるようにする必要があります。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
次に、作成した公開鍵(id_rsa.pub)を、同期先(sshを受ける側)へコピーします。 そして、同期先で、受け取った鍵を、authorized keyとして登録します。
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

これで、鍵を作ったホストから、鍵を渡したホストへ、パスワードなしでsshログインできるはずです。 無事、ログインできれば、rsyncもパスワードなしで実行できます。

自動ログインの方法は、こちらも参考になるでしょう。

広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system