rsync コマンド
はじめに こんにちは!今回はrsyncコマンドについて解説します。 rsyncは、ファイルやディレクトリを効率的に同期・バックアップするコマンドです。差分だけを転送するので、大容量のバックアップやリモートサーバーとの同期に最適。サーバー管理やバックアップ自動化の現場で毎日使われるコマンドですね。 「超スマートなファイルコピー&同期ツール」って感じです。 rsyncコマンドとは rsyncは、ローカル、またはリモートのファイルやディレクトリを同期する外部コマンドです。“remote sync"の略ですね。 cpやscp の違いは、rsyncは差分検知 が得意なところ。既に同じファイルが存在していれば、変わった部分だけを転送します。だから、大容量のデータや定期的なバックアップに最適なんです。圧縮転送、削除ファイルの同期、タイムスタンプ保持など、バックアップに必要な機能が揃っています。 基本構文 1 rsync [オプション] コピー元 コピー先 コピー元にホスト名を含める場合はリモート転送になります。host:pathの形式です。 主なオプション オプション 説明 -a アーカイブモード(-rlptgoD と同等) -v 詳細表示(verbose) -z 転送中に圧縮 -r ディレクトリを再帰的に処理 --delete コピー先に存在して、コピー元に無いファイルを削除 -e ssh SSH経由で転送 --exclude 除外パターンを指定 --progress 転送進捗を表示 -u 新しいファイルのみ転送(update) --backup 上書きファイルのバックアップを作成 使用例 例1: 基本的なローカルコピー 1 rsync -a source/ destination/ 実行結果: 1 (成功時は何も表示されない。-vで詳細表示可) source/ディレクトリの内容をdestination/にコピーします。-aでアーカイブモード(所有者、権限、タイムスタンプ保持)。 例2: 詳細表示でコピー 1 rsync -av source/ destination/ 実行結果: 1 2 3 4 5 6 7 sending incremental file list ./ file1.txt file2.txt sent 1,234 bytes received 56 bytes 2,580.00 bytes/sec total size is 5,000 speedup is 3.88 -vで転送ファイルと統計情報が表示されます。 ...