簡単な紹介
scpは安全なコピーツールです。フルコピーです。
フルコピーとは、最初のコピー後にディレクトリが変更されていなくても、2回目の実行時にディレクトリ内のすべてのものがコピーされることを意味します。指定したすべてのディレクトリがコピーされるため、scpは完全にコピーされます。
たとえば、helloディレクトリ内のファイルは比較的大きいです。以前にすべてを別のマシンにコピーしましたが、ビジネス上の調整により、一部のhelloファイルに小さな変更が加えられました。コピーするときは、変更したファイルを別のマシン、つまりインクリメンタルコピーにコピーするだけです。現時点では、scpは適していません。rsyncツールを使用する必要があります。
rsyncツールは、このマシン上のファイルを他のマシンにのみ同期できます。
rsync機能
Rsyncは、変更されたファイルを同期するだけです。つまり、増分同期です。
変更されたファイルかどうかはどのようにわかりますか?通常、ファイルの変更時刻を比較します。2台のマシンで同じパスにある同じファイル名のファイルの変更時刻が異なる場合、rsyncはファイルが変更されたと見なします。
コマンドの説明を使用する
rsync -rvlt path1 目标文件用户名B@主机名2:path2
**说明**
-r: 递归,复制目录
-v: 显示复制的过程
-l: 同步软连接
-t: 基于文件的修改时间进行对比,只同步修改时间不同的文件
path1 是本机文件目录.
ディレクトリスラッシュの問題に注意してください
注:rsync -rvltpath1ターゲットファイルのユーザー名B @ホスト名2:path2
path1はディレクトリであり、ディレクトリは/で終わります。ディレクトリ自体ではなく、ディレクトリ内のコンテンツのみが同期されます。
path1はディレクトリです。ディレクトリは/で終わりません。ディレクトリの内容を同期すると、ディレクトリ自体も同期されます。
追加する場合と追加しない場合の違いを確認するには、以下の場合があります。
場合
プラグインをインストールする
同期されたマシンはプラグインをインストールする必要があり、同期されたマシンもプラグインをインストールする必要があります
zjj101とzjj102は、このプラグイン
シェルを別々にインストールします。
yum -y install rsync
このプラグインをインストールしないと、ターゲットサーバーのパスワードを入力した後にエラーが発生します。これは次のエラーです。
bash: rsync: 未找到命令
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(226) [sender=3.1.2]
データを準備する
zjj101
[root@zjj101 demo]# pwd
/root/soft/demo
[root@zjj101 demo]# ll
总用量 0
-rw-r--r--. 1 root root 0 10月 14 19:31 demoSCP.txt
[root@zjj101 demo]#
zjj102
[root@zjj102 soft]# pwd
/root/soft
[root@zjj102 soft]# ls
hadoop-2.7.2
同期を開始します
開始ディレクトリパスの最後にスラッシュを追加します
[root@zjj101 demo]# rsync -rvlt /root/soft/demo/ root@zjj102:/root/soft
root@zjj102's password:
sending incremental file list
./
demoSCP.txt
sent 110 bytes received 38 bytes 59.20 bytes/sec
total size is 0 speedup is 0.00
[root@zjj101 demo]#
この時点でzjj102マシンを確認してから、ソフトディレクトリに生成します。
[root@zjj102 soft]# ls
demoSCP.txt hadoop-2.7.2
[root@zjj102 soft]# pwd
/root/soft
[root@zjj102 soft]#
開始ディレクトリパスの末尾にスラッシュはありません
zjj101
[root@zjj101 demo]# rsync -rvlt /root/soft/demo root@zjj102:/root/soft
root@zjj102's password:
sending incremental file list
demo/
demo/demoSCP.txt
sent 123 bytes received 39 bytes 64.80 bytes/sec
total size is 0 speedup is 0.00
[root@zjj101 demo]#
zjj102マシン
デモフォルダを削除し、再テスト後にエフェクトを削除します。
[root@zjj102 soft]# ls
demo hadoop-2.7.2
[root@zjj102 soft]# pwd
/root/soft
[root@zjj102 soft]# cd demo
[root@zjj102 demo]# ls
demoSCP.txt
[root@zjj102 demo]# pwd
/root/soft/demo
[root@zjj102 demo]#
デモフォルダも同期されます