Rsync Command
    • PDF

    Rsync Command

    • PDF

    Article Summary

    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の間でデータを同期する方法は、次の通りです。

    1. 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.
        
    2. インストールされていない場合は、OS別コマンドを入力して rsyncパッケージをインストールします。

      • CentOS/Rocky Linux
        # yum install rsync
        
      • Ubuntu
        # apt-get install rsync
        
    3. 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
        
    4. データを転送する 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ディレクトリパス
    5. rsyncが Target VMにデータをコピーする間、進捗状況をモニタリングしてください。

      • コピーが完了したら Target VMに新しいデータが同期されていることを確認できます。

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.