rsync实现两台服务器上的实时同步--delete

服务端:centos-4 192.168.5.128

客户端:centos-3 192.168.5.132

1、创建{1..10}.txt文件在a目录下

[root@centos-4 tmp]# rm -rf a

[root@centos-4 tmp]# mkdir a

[root@centos-4 tmp]# cd a

[root@centos-4 a]# touch {1..10}.txt

[root@centos-4 a]# ls

10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

2、同步到远端/tmp/a目录下

因为实在实现不了--password-file的方式同步就做了一个免密码登录

[root@centos-4 a]# ssh-keygen

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

68:05:51:21:2f:e5:b8:a5:2a:99:5f:23:1a:28:f5:9b root@centos-4

The key's randomart p_w_picpath is:

+--[ RSA 2048]----+

|      +o+.       |

|       B         |

|      o =        |

|       B         |

|  .   = S        |

| o + o           |

|o = + o          |

|.  = = .         |

|  . E            |

+-----------------+

[root@centos-4 a]# ssh-copy-id centos-3

root@centos-3's password:

Now try logging into the machine, with "ssh 'centos-3'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@centos-4 a]#

配置完私钥后.ssh/下会多了一个authorized_keys 文件

[root@centos-3 .ssh]# cat authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA1vNA0sHBa4FFnMINAj6FM+FGInAP2+eIQ1JSIXJeRWOfM0KyLS3Nn5LzxvENBPrjJs1RR2x4Lhnuy0YL0Qy+wZLdcEIufZWcpRjDkLAhvgQjF7Mivd7mFhfPJ/uKUB/7Di4V/GzaW2SaG4ZWafFyB8igsBqnfw4wu0NyCVAjlpSe6tR1jao5MRMp8+6nksYHyHH8wafdGglF67cusk5fk9Kd0c4rSoiTjUX4EsREuE7mRBnK6UsSjvnJSsIHKYzDwEdB9ix+flTd9znPgEukWO85WN0h4wjqM8BAURRLDQnxKa0b9m+TrYsJnjr5xemj/Gr3q905ZWdoIDsupDNsLw== root@centos-4

同步两台服务器/tmp/a目录

[root@centos-4 a]# rsync -avpz /tmp/a root@centos-3:/tmp/

sending incremental file list

a/

a/1.txt

a/10.txt

a/2.txt

a/3.txt

a/4.txt

a/5.txt

a/6.txt

a/7.txt

a/8.txt

a/9.txt

sent 513 bytes  received 206 bytes  479.33 bytes/sec

total size is 0  speedup is 0.00

查看客户端的centos-3服务器/tmp/a已经同步

[root@centos-3 tmp]# ls

a                pear                                   zabbix_agentd.log

cml              pulse-gvsEPtT6wF1A                     zabbix_agentd.pid

gconfd-root      pulse-ofsu0uqNK8ia                     zabbix_server.log

hsperfdata_root  sess_9262c75f9c8625064dfabb6f1ffe9b1b  zabbix_server.pid

keyring-8nmh6u   sess_9pdslag3gffnplr3oh0mucvrr6

keyring-c6WZng   yum.log

[root@centos-3 tmp]# cd a

[root@centos-3 a]# ls

10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-3 a]#

 

3、删除1.txt文件

[root@centos-4 a]# ls

10.txt  1.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-4 a]# rm -rf 1.txt

[root@centos-4 a]# ls

10.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-4 a]#

4、后面测试,当本地主机少了一个文件。而远端主机没有这个文件,删除远端主机的文件。

[root@centos-4 a]# rsync -avpz --delete /tmp/a root@centos-3:/tmp/

sending incremental file list

a/

deleting a/1.txt##显示删除了1.txt同步两台服务器的目录

sent 150 bytes  received 16 bytes  332.00 bytes/sec

total size is 0  speedup is 0.00

[root@centos-4 a]#

检查客户端centos-3的目录已经少了1.txt文件,代表已经同步成功

[root@centos-3 a]# ls

10.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-3 a]#

5、每过1min监听这些目录,当发现本地和远程不一致,就再次同步

写一个shell的脚本执行同步两边的/tmp/a目录

[root@centos-4 ~]# vim rsync.sh

#!/bin/bash

rsync -avpz --delete /tmp/a root@centos-3:/tmp/

[root@centos-4 ~]# chmod a+x rsync.sh

测试脚本:

[root@centos-4 ~]# cd /tmp/a

[root@centos-4 a]# ls

10.txt  2.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-4 a]# rm -rf 2.txt

[root@centos-4 a]# ls

10.txt  3.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-4 a]# cd

[root@centos-4 ~]# ./rsync.sh

sending incremental file list

a/

deleting a/2.txt##表示脚本已经生效

sent 139 bytes  received 16 bytes  310.00 bytes/sec

total size is 0  speedup is 0.00

[root@centos-4 ~]#

这样做执行脚本是还是会输出信息,所以改了一下

[root@centos-4 ~]# vim rsync.sh

#!/bin/bash

rsync -avpz --delete /tmp/a root@centos-3:/tmp/  >>  /dev/null

为了实现实时同步服务端和客户端的/tmp/a目录,配置每1min执行一次命令

[root@centos-4 ~]# crontab -e

*/1 * * * * rsync -avpz --delete /tmp/a root@centos-3:/tmp/ >> /dev/null

crontab: installing new crontab

测试1min后是否可以实时同步目录,删除3.txt

[root@centos-4 a]# rm -rf  3.txt/

[root@centos-4 a]# ls

10.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

过了一分钟后查看centos-3的/tmp/a目录下3.txt有没有删除,最后同步

[root@centos-3 a]# ls

10.txt  4.txt  5.txt  6.txt  7.txt  8.txt  9.txt

[root@centos-3 a]#

转载于:https://blog.51cto.com/legehappy/1965477

rsync实现两台服务器上的实时同步相关推荐

  1. 两台服务器双向同步文件,远程同步文件 两台服务器上

    远程同步文件 两台服务器上 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...

  2. linux同步某台服务器,linux 两台服务器之间开机自动同步指定目录下的文件

    linux 两台服务器之间开机自动同步指定目录下的文件 服务器B(172.17.166.11)上开机或者重启会自动拉取服务器A(172.17.166.10)上指定目录下所有文件 1.创建服务器B到服务 ...

  3. mysql两台服务器怎么做数据同步_两台mysql服务器实现双机互备配置并测试数据同步...

    对于实现两台机子的互备配置,本文作出了详细的介绍,之后的测试数据同步,在10.168.1.44服务器数据库里修改一条数据, 可以看到数据已经同步过来了.反过来,修改10.168.0.126的数据,也可 ...

  4. mysql两台服务器怎么做数据同步_让两台服务器的MySQL数据同步(互为主从关系)...

    网上找的大部分定义master-host的其实在新的MySQL中已经停用了,于是乎很悲剧的自己探索写出了这么一个东西 RedHat版本7.0 MySQL版本 5.7 服务器名称为假的!!! 服务器A: ...

  5. 两台服务器数据库怎么自动同步数据库,mysql 多台数据库同步server-id 重复导致的问题...

    今天在设置一台新SLAVE数据库服务器后,发现MASTER和SLAVE服务器都出现大量TIME_WAIT数据库连接: tcp        0      0 19.2.33.156:56247     ...

  6. 第一次安装使用rsync服务进行两台服务器之间的文件同步,并排查客户端到服务端网络不通的问题。

    下面为配置文件模板,rocky8没有这个配置文件,需要新建一个. [root@rocky8 ~]# vim /etc/rsyncd.confport=873log file=/var/log/rsyn ...

  7. nginx负载均衡两台服务器文件,Nginx之负载均衡 :两台服务器均衡(填坑)

    第一步,两台服务器都要安装好Nginx和Tomcat,我这边的安装的是Nginx 1.16.1 Tomcat9: 第二步,安装完成之后,选择你要做均衡的那台服务器,,打开其Nginx 配置文件,在se ...

  8. DNS与Active Directory在两台服务器分别布署

    以前dns与Ad布署时,一般习惯布署在同一台服务器上.以下一个视频,就是把DNS与Active Directory分别布署在两台服务器上. DEMO使用的测试域名为:virbiznet.com(Vir ...

  9. mysql同步到另一台服务器_mysql两台服务器主从同步

    A服务器: host 192.168.1.101 port 3306 B服务器: host 192.168.1.102 port 3306 1,授权用户: A服务器 mysql>grant re ...

最新文章

  1. 刻意练习:LeetCode实战 -- 不同的二叉搜索树
  2. 数据库抽象层 PDO
  3. c++图形化界面_还能这样用?Linux下如何编译C程序?
  4. 《Adobe Acrobat X中文版经典教程》—第1章复 习
  5. abap中的弹出窗体函数
  6. 二叉树 -- 5.1.1 Binary Tree Level Order Traversal -2 -- 图解
  7. 【Sql查询数据】for 日、月、年
  8. LayaAir学习笔记
  9. 大型分布式订单系统项目实战
  10. dos 命令检索文件
  11. matlab geodetic2ecef,卫星轨道问题
  12. HTML5 之 Link 标签
  13. HTML蒙版css,浅谈图片蒙版效果-webkit-mask_html/css_WEB-ITnose
  14. 计算机 键盘启动,键盘开机如何打开键盘
  15. 可能是最漂亮的Spring事务管理详解
  16. windows编程之WM_MENUSELECT消息
  17. Linux驱动之platform设备驱动
  18. 【mcuclub】称重-HX711
  19. 【Python】爬取百度图片和必应图片
  20. [WallProxy] WallProxy

热门文章

  1. 英语语法---宾语详解
  2. 《计算中的上帝》读书笔记
  3. php校验苹果账号返回invalid_client
  4. Effective C++ 条款02:尽量使用const,enum,inline替换#define
  5. QQ圈子降级为“应用”后应关注其隐私设置
  6. malloc函数分配内存失败的原因及解决方法
  7. 网络作战训练模拟仿真管理系统软件
  8. win7用计算机名共享打印机,win7共享打印机需要输入用户名和密码该怎么办啊?...
  9. 前端年后面试真题,会80%直接进大厂
  10. 一些程序员必备的英语词汇及释义