[Linuxの]リモートデータ同期

rsyncコマンドは、詳細な

rsyncコマンドはすぐに複数のホスト間でファイルを同期するLAN / WANを介したリモートデータ同期ツールです。ローカルとリモートホスト間のファイル2が同期するために「rsyncのアルゴリズム」、いわゆるrsyncが、このアルゴリズムは、ファイルの2つの異なる部分を送信し、常にではないが、全体の伝送を、そのため非常に高速。rsyncは非常に強力なツール、そのコマンドであり、多くのオプション機能があり、我々は次のオプション1つのその分析ショーずつを持っています。

rsyncのプロパティ

  • そして、あなたは全体のディレクトリツリーとファイルシステムを更新することができます。

  • 選択シンボルチェーン、ハードリンクファイルが属している、権限、機器、および時間を保持。

  • インストールの場合、特別な権限の必要なし。

  • 複数のファイルについては、待機中のファイルを削減する内部パイプライン遅延;

  • 入力ポートとしてRSH、SSH、または直接転送ポートを使用します。

  • ファイルを同期するために、匿名のrsyncをサポートしています、それは理想的なイメージングツールです。

まず、rsyncのインストール

  • CentOSの:
yum -y install rsync

  • Ubuntuの
apt-get -y install rsync

インストールが成功したことを確認します

コマンド:rsyncの--version#表示rsyncのバージョン

[root@localhost ~]# rsync --version
rsync  version 3.1.2  protocol version 31
Copyright (C) 1996-2015 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の一般的なオプション


  • 1 == - V、--verbose詳細な出力==
  • 2 == - Q、--quietサイレントモード、送信なし、間違っていても、情報がありません。==
  • 3 -c、ファイル転送を確認するために強制的にオープンチェックスイッチを、--checksum
  • 4 == - 、--archiveファイリングモード、転送が再帰的に表現したファイル、およびすべてのファイル属性を維持し、同じ-rlptgoD ==
  • 5 == - R、--recursiveサブディレクトリ再帰処理モード==
  • 6 -R、相対パス情報を用いて--relative
  • 目的は同じファイル名のためにあったとき7 -b、つまり、バックアップを作成--backup、古いファイルは〜ファイル名を変更されます。あなたは別のバックアップファイルのプレフィックスを指定するには、--suffixオプションを使用することができます。
  • ディレクトリに格納された8 --backup-dirのバックアップファイル(例えば、ファイル名〜)。
  • 9 -suffix = SUFFIXバックアップファイルのプレフィックスの定義
  • 10 -uは、--updateのみ更新され、それは、DSTのすべての既に存在し、ファイル後にバックアップするファイルよりもスキップすること、です。(更新されたファイルを上書きしないでください)
  • 11 == - Lは、==予約ソフトリンクを--links
  • 12 == - L、--copy-リンクは通常のファイル処理ソフトリンクと同じように扱われることを希望==
  • 13 --copy-危険なリンクはSRC以外のパスツリーにリンクポインティングをコピーします
  • SRCリンク外のディレクトリツリーのパスを無視するように指して14 --safeリンク
  • 15 -H、--hard-リンクはハードリンクを維持します
  • 16 == - pは、==ファイルのアクセス権を維持するために--perms
  • 17 == - O、--owner所有者情報ファイル保持==
  • 18 == - G、--groupファイルを保持するには、情報の集合である==
  • 19 == - D、デバイスファイル情報を保持--devices ==
  • 20 == - tは、==ファイル時間情報を保持し--times
  • 21 -S、DSTのためのスペースを節約するために特別な処理のためのスパースファイルを--sparse
  • ファイルが転送されます22 -n、--dry-実行する現実
  • 23 -W、--wholeファイルのコピーファイルではなく、インクリメンタル検出
  • 24 -x、--oneファイルシステムは、ファイルシステムの境界を越えることはありません
  • 25 -B、--blockサイズ= SIZEテストアルゴリズムのブロックサイズ、デフォルトは700バイトであります
  • 26 -e、--rsh = COMMANDはRSH、SSHウェイデータの同期を指定します
  • リモートサーバー上の27 --rsyncパス= PATH指定場所情報rsyncコマンド
  • 28 -C、それを用いたCVS法を--cvs除外し、自動的にファイルを無視し、望ましくない移動を排除するファイル
  • むしろ、新しく作成されたファイルをバックアップするよりも、すでにDSTに存在する29個の--existingのみ更新ファイル、
  • == 30 --deleteそれらのDST SRCは、(ソースファイルが存在しない場合は、それもそれを削除し、先を考えていないファイルではありません削除
    ==)
  • 31 == - 削除除外先のファイルで削除することが特に指定された番号を。==
  • 32 --delete-後の転写は、取り外す前に完了した後、
  • タイムリーにIOエラーで33 --ignore-エラーも削除します
  • 34 --max-削除= NUM​​ NUMはまでのファイルを削除しました
  • 35は、いくつかの理由が完全に転送されていないため、それらのファイルを保持するので、その後の再送信を加速する--partial
  • 空の36 --force強制的に、ディレクトリを削除した場合でもありません
  • 37 --numeric-IDは、ユーザーのユーザーおよびグループID番号とグループ名と一致しません
  • 秒で38 --timeout = TIME IPのタイムアウト
  • 39 -I、それらのファイルをスキップしない--ignore-時間は、時間の同じ長さを有し、
  • とき40 --sizeのみの文書だけを見て、ファイルサイズに関係なく、ファイルをバックアップするかどうかを決定する際
  • 41 --modifyウィンドウ= NUM​​スタンプウィンドウは、ファイルが同じ時刻に使用されているか否かを判断し、デフォルト値は0であります
  • 42 -T --temp-dirが= DIRは、DIRで一時ファイルを作成します
  • あなたがバックアップする必要があるかどうかを判断するためのファイルで43 --compare-DEST = DIR DIR同じ比較
  • 44 == - 完全に、その後の再送信をスピードアップするために転送しない、--partial何らかの理由でこれらのドキュメントを維持するためのP相当==
  • 45 --progressバックアッププロセスを表示します
  • 46 == - 伝送におけるz、--compressバックアップファイル圧縮処理==
  • 47 --exclude = PATTERNは望ましくないパターン指定されたファイルの転送を除外します
  • 指定されたファイル転送モードを排除する必要はない48 --include = PATTERN
  • 49 --exclude-から= FILE指定除外パターンファイルFILE
  • 50は--include-からファイルFILE =、それは指定されたパターンと一致して排除しません
  • 51 --versionバージョン情報
  • 特定のアドレスにバインドされた52 --address
  • 53 --config = FILEは、異なるコンフィギュレーションファイルを指定するには、デフォルトのファイルrsyncd.confを使用していません
  • 54 == - ポート=ポートが他のrsyncサービスポートを指定する==
  • 55 --blocking-IOは、リモートシェルのIOをブロック使用します
  • 56 -stats送信状態は、いくつかのファイルを提供します
  • 変速機57の--progress現実送信処理
  • 58 --log-フォーマット= FORMAT指定されたログ形式のファイル
  • FILEから取得したパスワードファイル= FILE ==パスワード - 59 ==
  • 60 --bwlimit = KBPSは、毎秒キロバイトのI / O帯域幅を制限します
  • 61 -h、--helpヘルプ情報を表示

三、のrsyncの使用例

例1:ローカルサーバー上の2つのディレクトリを同期させます

コマンドを使用して、ローカルマシン上の2つのディレクトリを同期させ== rsyncの-zvr ==

[root@localhost ~]# rsync -zvr /opt/seafile-data/ /mnt/
sending incremental file list
db/
db/aria_log.00000001
db/aria_log_control
db/ib_logfile0

上記のコマンド:

  • オープン圧縮-z

  • -v冗長プリントの詳細情報

  • -r再帰

上記のコマンドを実行した後、デフォルトのrsyncは、タイムスタンプ情報を保護していないため、rsyncのコピーが、その後、タイムスタンプ情報ファイルに影響しますでしょう

注意:

/ optが/ seafileデータ/このような同期seafileデータフォルダの書き込みとseafileデータフォルダーを除くすべてのファイル

全体seafileデータ同期フォルダこのように書かれた/オプション/ seafileデータ、seafileデータを含むフォルダ

実施例2:同期、リテンションタイムスタンプ-a(:再帰モード、予約シンボルのリンク、権限情報、タイムスタンプ、および所有者を保持するために、グループ情報achiveモード)で
[root@localhost ~]# rsync -avz /opt/seafile-data /mnt/
sending incremental file list
seafile-data/
seafile-data/db/
seafile-data/db/aria_log.00000001
seafile-data/db/aria_log_control
seafile-data/db/ib_logfile0

この時間はあなたがタイムスタンプ、ソース、DESTファイルは、情報がメイングループに属していることを発見することに注意してくださいので、一定であります

[root@localhost ~]# ls -l /opt/seafile-data/logs/seafile/seahub.log /mnt/seafile-data/logs/seafile/seahub.log
-rw-r--r-- 1 root root 15858 3月  21 18:23 /mnt/seafile-data/logs/seafile/seahub.log
-rw-r--r-- 1 root root 15858 3月  21 18:23 /opt/seafile-data/logs/seafile/seahub.log

例3:ファイルのみを同期

ただ、rsyncコマンドでファイル名を指定することができます

[root@localhost ~]# rsync -v /opt/seafile-data/seafile/conf/install.sh /mnt/
install.sh

sent 19,858 bytes  received 35 bytes  39,786.00 bytes/sec
total size is 19,776  speedup is 0.99

ll /mnt/install.sh 
-rw-r--r-- 1 root root 19776 3月  25 14:05 /mnt/install.sh

例4:リモートサーバにローカルから同期
[root@localhost ~]# rsync -avz /opt/seafile-data [email protected]:/mnt/
[email protected]'s password:  输入远端服务器密码
sending incremental file list
seafile-data/
seafile-data/db/
seafile-data/db/aria_log.00000001
seafile-data/db/aria_log_control

......
......
sent 1,809,853,100 bytes  received 10,547 bytes  28,501,789.72 bytes/sec
total size is 2,005,006,840  speedup is 1.11

同期の動きやリモートサーバーを実行する場合、あなたは、IPアドレスをユーザ名を指定する必要があります。また、リモートサーバー上の宛先ディレクトリを指定する形式は次のとおりです。machineIP @ユーザー名:パス

その形式は次のとおりです。

== rsyncの-avzは、先端IP @リモートユーザ名にローカルファイルの絶対パスを同期する必要があります。絶対パスリモートファイルを保存する==

このプロセスは、rsyncがパスワードを入力するように求められます。あなたは自動的にバックアップ操作を実行するスクリプトを持っている場合しかし、あなたはおそらく、手動でそのパスワードを入力する必要はありません

例5:ローカルにリモートサーバーから同期
[root@localhost ~]# rsync -avz [email protected]:/mnt/seafile-data /mnt/
[email protected]'s password:  输入密码
receiving incremental file list
seafile-data/
seafile-data/db/
seafile-data/db/aria_log.00000001
......
......
sent 4,698 bytes  received 1,785,742,775 bytes  31,056,477.79 bytes/sec
total size is 2,005,006,840  speedup is 1.12

おすすめ

転載: www.cnblogs.com/BabySermonizer/p/11441235.html