Как делить французские слова на слоги. Часть 1
目次:
- Rsyncのインストール
- UbuntuおよびDebianにRsyncをインストールする
- CentOSおよびFedoraにRsyncをインストールする
- Rsyncコマンドの構文
- 基本的なRsyncの使用法
- Rsyncを使用してリモートマシンとデータを同期する方法
- ファイルとディレクトリを除外する
- 結論
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をインストールする
CentOSおよびFedoraに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
結論
このチュートリアルでは、Rsyncを使用してファイルとディレクトリをコピーおよび同期する方法を学びました。 Rsyncの詳細については、Rsyncユーザーマニュアルページをご覧ください。
ご質問がある場合は、コメントをお気軽にお寄せください。
rsync端末