rsyncは、rshやsshを使ったファイル転送をサポートしています。環境によっては、rsyncのプロトコル(TCP873番ポート)を使用した通信ができない場合がありますが、そのような場合でもsshが許可されていればrsyncを利用することができます。
sshを使ってファイル転送を行うには、次のようにrsyncのコマンドを指定します。
(1) rsync –rsh=ssh [オプション] 送信元 [ユーザ@]ホスト:送信先
(2) rsync –rsh=ssh [オプション] 送信元 rsync://[ユーザ@]ホスト[:ポート]/DEST
(3) rsync –rsh=ssh [オプション] [ユーザ@]ホスト:送信元 送信先
(4) rsync –rsh=ssh [オプション] rsync://[ユーザ@]ホスト[:ポート]/送信元 [DEST]
(2) rsync –rsh=ssh [オプション] 送信元 rsync://[ユーザ@]ホスト[:ポート]/DEST
(3) rsync –rsh=ssh [オプション] [ユーザ@]ホスト:送信元 送信先
(4) rsync –rsh=ssh [オプション] rsync://[ユーザ@]ホスト[:ポート]/送信元 [DEST]
(1)と(2)はサーバへファイルをアップロードする場合、(3)と(4)はサーバからファイルをダウンロードする場合で、それぞれどちらの指定方法でも同じです。
サーバ(192.168.0.10)からデータディレクトリをクライアントのbackupディレクトリに同期転送します。
$ rsync –rsh=ssh -av –delete 192.168.0.10:./data/ ./backup/
user@192.168.0.10’s password: [パスワードを入力]
receiving file list … done
…
user@192.168.0.10’s password: [パスワードを入力]
receiving file list … done
…
注1:sshを使った場合には、ログインを行ったユーザの権限でアクセスできるファイルに対してしか処理を行うことができません。
注2:sshでログインするためのパスワードの入力を求められますが、cronなどから自動処理を行うためには、ssh接続認証用の鍵を用意し、そのパスフレーズを空にしておく必要があります。
注2:sshでログインするためのパスワードの入力を求められますが、cronなどから自動処理を行うためには、ssh接続認証用の鍵を用意し、そのパスフレーズを空にしておく必要があります。