Rsync Command
- 印刷する
- PDF
Rsync Command
- 印刷する
- PDF
記事の要約
この要約は役に立ちましたか?
ご意見ありがとうございます
Classic/VPC環境で利用できます。
rsyncは、リモートまたはローカルシステム間のファイルとディレクトリの同期とバックアップに使用するユーティリティです。
注意
rsyncを使用してデータを同期するには、ネットワークの接続状態が安定している必要があります。Source VMから Target VMに接続されたネットワークの接続状態が不安定な場合、データ転送に失敗することがあります。これを防ぐために、次の項目を参考にしてネットワーク接続状態を事前にご確認ください。
- ACGと Network ACLに必要な IPアドレス帯域、ポートとプロトコルに対するインバウンドとアウトバウンドルールを Target VMと Source VMの間の rsyncトラフィックを許可するように設定します。
- VPC環境で外部通信が必要な場合、次の条件に該当するか確認します。
- Public Subnet: IGWが構成され、グローバル IPアドレスが割り当てられた場合
- Private Subnet: NAT Gatewayが構成されている場合
- 大量のデータをコピーするには、十分なネットワーク帯域幅が必要です。Target VMと Source VM間のネットワーク帯域幅が十分でない場合、データ転送速度が遅くなることがあります。これを防ぐには、rsyncコマンドに
--bwlimit
オプションを追加して帯域幅制限を設定します。
参考
rsyncを使用してデータを同期する途中でエラーが発生することを防ぐために、事前にバックアップを行うことをお勧めします。
rsyncを使用して VMの間でデータを同期する方法は、次の通りです。
Source VMと Target VMに rsyncパッケージがインストールされたか確認します。
- rsyncパッケージがインストールされている場合、次のようにバージョン情報が表示されます。
# rsync --version rsync version 3.1.3 protocol version 31 Copyright (C) 1996-2018 by Andrew Tridgell, Wayne Davison, and others. Web site: http://rsync.samba.org/ Capabilities: 64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints, socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace, append, ACLs, xattrs, iconv, symtimes, prealloc rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details.
- rsyncパッケージがインストールされている場合、次のようにバージョン情報が表示されます。
インストールされていない場合は、OS別コマンドを入力して rsyncパッケージをインストールします。
- CentOS/Rocky Linux
# yum install rsync
- Ubuntu
# apt-get install rsync
- CentOS/Rocky Linux
rsyncを使用してデータをコピーする前に、Target VMのポート設定を確認します。
参考ファイアウォールの設定によって rsync接続が遮断されることがあるため、必要なポートが開放されているか確認し、必要に応じてファイアウォール設定を変更してください。
- rsyncは基本的に通信に TCPポート873を使用します。リモートホストに接続する場合、ポート873がファイアウォールやネットワーク制限によって遮断されていないことを確認します。
## telnet command # telnet [IP_ADDRESS] 873 ## nmap command # nmap -p 873 [IP_ADDRESS]
- rsync通信に他のポートを使用する必要がある場合、
-e
オプションを使用してそのリモートシェルコマンドを指定できます。
例) ポート2222を使用するコマンド# rsync -e 'ssh -p 2222' /source_dir username@destination:/destination_dir
- rsyncは基本的に通信に TCPポート873を使用します。リモートホストに接続する場合、ポート873がファイアウォールやネットワーク制限によって遮断されていないことを確認します。
データを転送する Source VMで
rsync
コマンドを実行します。必要に応じてコマンドのオプションを調整してデータ転送を最適化できます。
例) データを同期するコマンド
# rsync -avz --progress --bwlimit=10000 /source_dir username@destination:/destination_dir
/source_dir
: 同期するデータのパスusername
: Targetサーバにログインするために使用されるユーザー名destination
: Targetサーバの IPアドレスまたはドメイン名- 当該例で使用するオプションは、次の通りです。
-a
: アーカイブモードを使用してすべてのファイルプロパティを保存-v
: 詳細出力を表示-z
: 圧縮を使用して転送時間を短縮--process
: 転送状況を表示--bwlimit
: ファイルのコピーや同期時に帯域幅の制限を設定- 当該例では rsyncが使用できる帯域幅を最大10,000KB/sに制限します。
/source_dir
: 転送するソースディレクトリusername@destination:/destination_dir
: 転送する Target VMの IPアドレスやホスト名、ユーザー名と Targetディレクトリパス
rsyncが Target VMにデータをコピーする間、進捗状況をモニタリングしてください。
- コピーが完了したら Target VMに新しいデータが同期されていることを確認できます。
この記事は役に立ちましたか?