ファイルやディレクトリを同期する際、rsync
コマンドはその強力な機能で多くのLinuxユーザーにとって不可欠なツールです。この記事では、rsync
コマンドの基本的な使い方から、さらに複雑な応用例に至るまでを網羅的に解説します。rsync
の魅力は、ネットワーク上でのデータ同期においても、ローカルでのファイルのコピーにおいても、その効率と柔軟性にあります。
rsyncの基本的な使い方
rsync
コマンドの基本的な構文は以下の通りです:
rsync [オプション]... ソース デスティネーション
ソースとデスティネーションは、ローカルのパスやホストを含むリモートのパスを指定することができます。
基本的なコピー操作
ローカルファイルシステム内でファイルやディレクトリをコピーする基本的な例は以下の通りです:
rsync -av /path/to/source /path/to/destination
このコマンドは、ソースディレクトリの内容をデスティネーションにコピーします。ここで-a
オプションは「アーカイブモード」と呼ばれ、ファイルの属性を保持しながらコピーします。-v
オプションは冗長モードで、処理中の詳細を出力します。
rsyncの主要なオプション
rsync
には多くのオプションがあり、その多くが非常に有用です。ここではいくつかの主要なオプションを紹介します:
-a, --archive
:アーカイブモードで、ファイルの属性を保持しながらコピーします。-v, --verbose
:処理中の詳細を出力します。--delete
:デスティネーションに存在するがソースに存在しないファイルを削除します。-z, --compress
:データ転送時に圧縮を行います。--progress
:転送の進行状況を表示します。
rsyncの応用
rsync
はその柔軟性から、様々な応用が可能です。以下にいくつかの例を示します:
バックアップの作成
rsync -av --delete /path/to/source /path/to/backup
このコマンドはソースディレクトリをバックアップディレクトリに同期します。ソースにないファイルはバックアップから削除されるため、完全なミラーリングが可能になります。
リモートサーバーへのファイル同期
rsync -avz -e ssh /path/to/source user@remote:/path/to/destination
リモートサーバーへのファイルの同期には、-e ssh
オプションを使ってSSH経由での安全な転送を行います。
まとめ
rsync
コマンドはその柔軟性と効率性から、ファイル同期やバックアップ作成に非常に役立つツールです。この記事を通じて、rsync
の基本から応用までを理解し、より効率的なファイル管理を実現してください。
コメント