Linux用のRsyncインクリメンタルコピーツール

簡単な紹介

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]# 

デモフォルダも同期されます

おすすめ

転載: blog.csdn.net/qq_41489540/article/details/109081656