アンドロイド

ローカルおよびリモートのデータ転送と同期にrsyncを使用する方法

Как делить французские слова на слоги. Часть 1

Как делить французские слова на слоги. Часть 1

目次:

Anonim

Rsyncは、リモートシェルを介して、またはリモートRsyncデーモンとの間で2つの場所の間でファイルとフォルダーを同期する高速で汎用性の高いコマンドラインユーティリティです。 ソースと宛先の間の差分のみを転送することにより、高速の増分ファイル転送を提供します。

Rsyncは、データのミラーリング、増分バックアップ、システム間でのファイルのコピー、および日常使用のための scp sftp 、および cp コマンドの代替として使用できます。

このチュートリアルでは、実用的な例と最も一般的な rsync オプションの詳細な説明を通して、 rsync 使用方法を示します。

Rsyncのインストール

rsync ユーティリティは、ほとんどのLinuxディストリビューションとmacOSにプリインストールされています。 次のように入力して、システムにインストールされているかどうかを確認できます。

rsync --version

rsync version 3.1.2 protocol version 31

UbuntuおよびDebianにRsyncをインストールする

sudo apt install rsync

CentOSおよびFedoraにRsyncをインストールする

sudo yum install rsync

Rsyncコマンドの構文

rsync コマンドの使用方法に入る前に、基本的な構文を確認してみましょう。

rsync ユーティリティの式は次の形式を取ります。

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION -rsyncオプション。 SRC ソースディレクトリ。 DEST 宛先ディレクトリ。 USER リモートユーザー名。 HOST リモートホスト名またはIPアドレス。

rsync は、その動作のあらゆる側面を制御する多くのオプションを提供します。 最も広く使用されているオプションは次のとおりです。

  • -a -a --archive 、アーカイブモード、 -rlptgoD と同等。 このオプションは、ディレクトリを再帰的に同期し、特殊デバイスとブロックデバイスを転送し、シンボリックリンク、変更時間、グループ、所有権、アクセス許可を保持するように rsync に指示します。 -z 、-- --compress 。 このオプションは、 rsync が宛先マシンに送信されるデータを強制的に圧縮します。 このオプションは、リモートマシンへの接続が遅い場合にのみ使用してください。 -P 、-- --partial --progress と同等。 このオプションを使用すると、 rsync は転送中に進行状況バーを表示し、部分的に転送されたファイルを保持します。 低速または不安定なネットワーク接続を介して大きなファイルを転送する場合に役立ちます。 --delete 。 このオプションを使用すると、 rsync は宛先の場所から無関係なファイルを削除します。 ミラーリングに役立ちます。 -q 、-- --quiet 。 エラー以外のメッセージを抑制したい場合は、このオプションを使用します。 -e 。 このオプションを使用すると、別のリモートシェルを選択できます。 デフォルトでは、 rsync はsshを使用するように設定されています。

基本的なRsyncの使用法

あるファイルを別のローカルの場所にコピーするには、次のコマンドを実行します。

rsync -a /opt/filename.zip /tmp/

コマンドを実行するユーザーには、宛先の場所に対する読み取り権限と、宛先に対する書き込み権限が必要です。

宛先の場所からファイル名を省略すると、現在の名前でファイルがコピーされます。 別の名前でファイルを保存する場合は、宛先部分に新しい名前を指定します。

rsync -a /opt/filename.zip /tmp/newfilename.zip

以下の例では、Webサイトファイルのローカルバックアップを作成しています。

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

宛先ディレクトリが存在しない場合、 rsync はそれを作成します。

rsync は、ソースディレクトリに対して、末尾にスラッシュ / を付けて異なる処理を行うことに rsync してください。 ソースディレクトリに末尾のスラッシュを追加すると、ディレクトリの内容のみが宛先ディレクトリにコピーされます。 末尾のスラッシュが省略されると、 rsync はソースディレクトリを宛先ディレクトリ内にコピーします。

Rsyncを使用してリモートマシンとデータを同期する方法

リモート転送に rsync を使用する場合、ソースと宛先の両方のマシンにインストールする必要があります。 rsync の新しいバージョンは、デフォルトのリモートシェルとしてSSHを使用するように構成されています。

次の例では、ローカルマシンからリモートマシンにディレクトリを転送しています。

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ パスワードなしのSSHログインをリモートマシンに設定していない場合は、ユーザーパスワードの入力を求められます。

リモートからローカルマシンにデータを転送する場合は、リモートロケーションをソースとして使用する必要があります。

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

リモートホスト上のSSHがデフォルトの22以外のポートでリッスンしている場合、 -e オプションを使用してポートを指定できます。

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

大量のデータを転送する場合、スクリーンセッション内で rsync コマンドを実行するか、 -P オプションを使用することをお勧めします。

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

ファイルとディレクトリを除外する

ファイルまたはディレクトリを除外する場合は、ソースの場所への相対パスを使用する必要があります。

ファイルとディレクトリを除外するには、2つのオプションがあります。 最初のオプションは、--exclude引数を使用して、コマンドラインで除外するファイルとディレクトリを指定することです。

次の例では、 node_modules 内にある node_modules および tmp ディレクトリを src_directory ます。

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

2番目のオプションは、 --exclude-from 引数を使用して、ファイルから除外するファイルとディレクトリを指定することです。

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

結論

このチュートリアルでは、Rsyncを使用してファイルとディレクトリをコピーおよび同期する方法を学びました。 Rsyncの詳細については、Rsyncユーザーマニュアルページをご覧ください。

ご質問がある場合は、コメントをお気軽にお寄せください。

rsync端末