两台ubuntu 服务器之间,文件通过sync服务同步

前提:

  1. 两台ubuntu服务器,且两台服务器之间通信正常。

  2. 服务器需要同步的文件做好备份。

两台服务器IP分别为:192.168.1.20 和 192.168.1.30

首先,用

lsof -i:873

命令,查看端口873有没有被服务占用,如果出现如下显示,则表明sync服务已经安装。

两台ubuntu 服务器之间,文件通过sync服务同步 - wangkuen882003 - 心随梦飞

如果没有安装sync服务的服务器,请通过执行

apt-get install sync

安装服务,如果是centos服务器,请使用

yum -y install sync

配置服务端:


服务安装好之后,/etc下没有配置文件,一般情况可以copy示例文件到/etc下 

#cp /usr/share/doc/rsync/examples/rsyncd.conf /etc

然后打开这个文件:

#vi /etc/rsyncd.conf

文件全局内容配置为:

uid=rootgid=rootmax connections=36000use chroot=nolog file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidlock file=/var/run/rsyncd.lockhosts allow = 192.168.1.30hosts deny = *

下面开始配置同步域内容:

[XXX_NAME]# sync of dir pathpath=/var/www/path_name# Miss I/O errorsignore errors = yesread only = no# hosts allow = 192.168.1.30# hosts deny = *#允许的用户名auth users =username#对应的密码文件secrets file = /etc/rsyncd.secrets

修改完后在/etc/下新建一文件rsyncd.secrets

#vi /etc/rsyncd.secretsusername:passwd:wq


修改rsyncd.pass权限 

#chmod 600 /etc/rsyncd.secrets


现在就可以启动rsync了 

service rsync restart

启动成功后可以用

lsof -i:873

查看是否正常启动,也可以查看/var/log/rsyncd.log日志文件。 


下面是客户端:

vi sync_test.sh     rsync -avz --progress --password-file=/etc/rsyncd.passwd  username@192.168.1.20::XXX_NAME  /path_name/

新建密码文件:

vi /etc/rsyncd.passwdpasswd:wdchmod 600 /etc/rsyncd.passwd        (很重要,如果权限不对,会造成同步失败)

执行sh文件,查看效果

sh sync_test.sh

如果服务器有防火墙,请自行把873端口开放


常用参数列表:

    -v :观察模式,可以列出更多的资讯;       -q :与 -v  相反,安静模式,输出的资讯比较少;       -r :递回复制!可以针对"目录"来处理!很重要!       -u :仅更新 (update),不会覆盖目标的新档案;       -l :复制连结档的属性,而非连结的目标原始档案内容;       -p :复制时,连同属性 (permission) 也保存不变!       -g :保存原始档案的拥有群组;       -o :保存原始档案的拥有人;       -D :保存原始档案的装置属性 (device)       -t :保存原始档案的时间参数;       -I :忽略更新时间 (mtime) 的属性,档案比对上会比较快速;       -z :加上压缩的参数!       -e :使用的通道协定,例如使用 ssh 通道,则 -e ssh       -a :相当于 -rlptgoD ,所以这个 -a 是最常用的参数了!       --progress:在传输时显示传输过程           --delete:删除那些客户端存在而服务端已经不存在的文件


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页