🐧

【Linux】rsync:ファイルやディレクトリをコピーする

に公開

リモートホストにあるディレクトリやファイルをローカルホストにコピーする時、scpやtarを使っていたが、rsyuncが使いやすそうなので、用法をまとめる。

(20230714:後日、使い分け方法を追記予定)

rsyncは、ファイルやディレクトリを同期(コピー)するための強力なツールです。ファイルの同期には、ネットワーク経由でのリモート同期とローカルのディスク上での同期の両方が含まれます。

基本的な使用方法は以下の通りです:

  1. ローカルのファイルやディレクトリを別の場所にコピー:

    rsync -av source_directory destination_directory
    

    ここで、-aは「アーカイブモード」(ファイルの属性を保存し、再帰的にディレクトリをコピー)を、-vは「冗長(詳細)モード」(操作の詳細を表示)を指定します。

  2. リモートのマシンへのファイルの同期:

    rsync -av source_directory user@remote_host:destination_directory
    

    user@remote_host:はリモートホストの情報で、userはリモートホストのユーザ名、remote_hostはリモートホストのアドレスです。

  3. リモートマシンからのファイルの同期:

    rsync -av user@remote_host:source_directory destination_directory
    
  4. rsyncを使用してバックアップを作成するには、--deleteオプションを使用できます。これにより、同期先のディレクトリから元のディレクトリにないファイルが削除されます。

    rsync -av --delete source_directory destination_directory
    
  5. ネットワーク経由で大きなファイルをコピーする際には、-z(圧縮)オプションを使用して帯域を節約できます。

    rsync -avz source_directory user@remote_host:destination_directory
    

rsyncには他にも多くのオプションがあります。全てのオプションを確認するには、man rsyncコマンドを使用してマニュアルを参照してください。

Discussion