相同服务器我们时常需要相同的部署,这时就需要我们能够实时的同步文件。今天我就和大家分享一个能够实现自动远程实时同步文件的方法:
首先说说我们需要使用到的工具:
1、ssh远程密钥登陆
由于远程同步需要密码验证,我们通过公私钥免密码登陆远程主机,从而实现远程自动同步。
2、rsync
一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
3、inotifywaitt
一种强大的、细粒度的、异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性、读写属性、权限属性、删除创建、移动等操作,也就是可以监控文件发生的一切变化。。
接下来我们开始部署:
一、部署无密码登陆
1、生成密钥
[root@web1 ~]# ssh-keygen -f /root/.ssh/id_rsa -N ''
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
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:
SHA256:viMzppUhBgMnvVUW+vPOZWr1+8o+Hxquln3Dw/Sa8kI root@web1
The key's randomart image is:
+---[RSA