rsyncはリモートホストとのファイルの変更分を検出して、差分のみを転送するコマンドである。
リモートホストへ差分を送信する。
rsync [options] [src ...] [user@]host:dest
リモートホストから差分を受信する。
rsync [options] [user@]host:src [dest]
rsyncコマンドには次の引数を指定する。
rsyncに指定できるコマンドオプション一覧を次に示す。
-v--verbose-q--quiet-a--archive-r--recursive-e COMMAND--rsh=COMMAND$ rsync -av -e ssh /home/tsuka tsuka@host:/backup/
--delete--exclude=PATTERN$ rsync -av --exclude '*.log' /home/tsuka /backup/
--exclude-from=FILE-h--helprsyncコマンドは次に示す終了ステータスを返す。
| Exit status | 説明 |
|---|---|
| 0 | 成功 |
| 1 | 構文または使用方法のエラー |
| 2 | プロトコルの非互換性 |
| 3 | 入出力ファイルまたはディレクトリの選択エラー |
| 4 | 要求されたアクションはサポートされていません |
| 5 | クライアント/サーバプロトコルの開始エラー |
| 6 | デーモンがログファイルに追加できない |
| 10 | ソケットI/Oのエラー |
| 11 | ファイルI/Oエラー |
| 12 | rsyncプロトコルデータストリームのエラー |
| 13 | プログラム診断のエラー |
| 14 | IPCコードのエラー |
| 20 | SIGUSR1またはSIGINTを受信した |
| 21 | waitpid() が何らかのエラーを返した |
| 22 | コアメモリバッファの割り当てエラー |
| 23 | エラーによる部分転送 |
| 24 | 消失したソースファイルによる部分転送 |
| 25 | --max-delete制限で削除を停止 |
| 30 | データ送受信タイムアウト |
| 35 | デーモン接続待ちタイムアウト |
sshのポート番号を指定するには、リモートシェルのオプションとして指定する。
rsync -e "ssh -p 22222" tsuka@example:/from/ ./to/
rsync --rsh="ssh -p 22222" tsuka@example:/from/ ./to/