rysnc是一个数据镜像及备份工具,具有可使本地和远程两台主机的文件,目录之间,快速同步镜像,远程数据备份等功能。在同步过程中,rsync是根据自己独特的算法,只同步有变化的文件,甚至在一个文件里只同步有变化的部分,所以可以实现快速的同步数据的功能。 第一种:依赖ssh服务同步目录 rsync -aSvH /home/N22/test1/* /home/N22/test2/ 参数解释:
a 等同于 -rlptgoD 归档模式,就是保持文件所有属性、权限不变 上面这个表示 将本机的/home/N22/test1/目录下所有的文件,同步到/home/N22/test2/目录下。这种方式我只能同步新增和更新,不能同步删除,不知道原因,修改为 rsync -aSvH –delete /home/N22/test1/* /home/N22/test2/ 时,虽然添加了delete仍然不能同步删除的文件。 和其它服务器同步时,需要账户和密码:rsync -aSvH /home/* root@192.168.1.1:/home/ 第二种:服务器和客户端 经过测试,这种服务器和客户端的配置能完美解决删除文件和目录的同步功能。 服务器端配置: 1、rysnc一般是通过xinetd进行启动的。
修改/etc/xinetd.d/rsync,只修改一个地方 } 2、接下来编辑配置文件
[root@mailsvr ~] # vi /etc/rsyncd.conf gid = nobody use chroot = no max connections = 4 pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log [web] path = /opt/web ignore errors read only = true list = false hosts allow = 192.168.0.5 # 允许的IP地址 hosts deny = 0.0.0.0/32 # 禁止的IP 地址 auth users = backup # 认证用户名,此例是 backup secrets file = /etc/backup.pass #认证用户的密码文件 3、编辑服务器的密码文件 /etc/backup.pass vi /etc/backup.pass backup:123456 4、然后设置权限chmod 400 /etc/backup.pass 客户端配置 1. 编辑rsync连接时的密码文件 /etc/rsync_client.pass vi /etc/rsync_client.pass 123456 # 只需要配置连接时使用的密码即可,必须与A服务器上定义的密码相同. 2. chmod 600 /etc/rsync_client.pass 3. 使用 rsync 命令连接服务器,实现文件同步 rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.passbackup@192.168.1.2::web /opt/test 4. 使用 –execlude= 排除不需要同步的文件后缀名 rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.tmp”backup@192.168.1.2::web /home/test 5. 使用 –execlude-from= 排除不需要同步的目录 rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude-from=/opt/pcdir backup@192.168.1.2::web /home/test 6、定时同步 #vi rsyncd.sh rsync -aSvH –delete –password-file=/home/N22/rsync_client.pass backup@192.168.1.252::web /home/N22/test2/
#crontab -e |