🐧
【Linux】rsync:ファイルやディレクトリをコピーする
リモートホストにあるディレクトリやファイルをローカルホストにコピーする時、scpやtarを使っていたが、rsyuncが使いやすそうなので、用法をまとめる。
(20230714:後日、使い分け方法を追記予定)
rsync
は、ファイルやディレクトリを同期(コピー)するための強力なツールです。ファイルの同期には、ネットワーク経由でのリモート同期とローカルのディスク上での同期の両方が含まれます。
基本的な使用方法は以下の通りです:
-
ローカルのファイルやディレクトリを別の場所にコピー:
rsync -av source_directory destination_directory
ここで、
-a
は「アーカイブモード」(ファイルの属性を保存し、再帰的にディレクトリをコピー)を、-v
は「冗長(詳細)モード」(操作の詳細を表示)を指定します。 -
リモートのマシンへのファイルの同期:
rsync -av source_directory user@remote_host:destination_directory
user@remote_host:
はリモートホストの情報で、user
はリモートホストのユーザ名、remote_host
はリモートホストのアドレスです。 -
リモートマシンからのファイルの同期:
rsync -av user@remote_host:source_directory destination_directory
-
rsync
を使用してバックアップを作成するには、--delete
オプションを使用できます。これにより、同期先のディレクトリから元のディレクトリにないファイルが削除されます。rsync -av --delete source_directory destination_directory
-
ネットワーク経由で大きなファイルをコピーする際には、
-z
(圧縮)オプションを使用して帯域を節約できます。rsync -avz source_directory user@remote_host:destination_directory
rsync
には他にも多くのオプションがあります。全てのオプションを確認するには、man rsync
コマンドを使用してマニュアルを参照してください。
Discussion