rsync 服务的安装配置与客户端的同步操作
1. 使用xinetd服务运行rsync服务:
服务器端:
1.关闭selinux,设置iptables开放xinetd的873端口
2. yum -y install rsync xinetd
3. vim /etc/xinetd.d/rsync
4.将disable想改成no # 这一步是打开rsync这个daemon,一旦有rsync client要连接时,xinetd会把它转接给rsyncd,修改完后service xinetd restart,是配置生效。
5. mkdir /etc/rsyncd/
6.touch rsyncd.conf、touch rsyncd.motd、touch rsyncd.pass
7.ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
9.vim rsyncd.motd #这一步可有可无,主要是起到提示作用
内容如下:
++++++++++++++++++++++++++++++++++++++
welcome to use the jack.org.cn rsync services
2016----2020
++++++++++++++++++++++++++++++++++++++
10.vim rsyncd.conf
内容如下:
配置的文件的粗略解释:
uid必须是系统真实存在的用户,表示使用哪个用户启动这个进程,而下方backup模块下的auth users 的用户跟系统用户没有任何关系,你可以随便写你想使用的名字。如果这个名字修改了,那么/etc/rsyncd/rsyncd.pass相应的也要做相应的修改。
11.编写用户密码文件
echo "root:logic123" > /etc/rsyncd/rsyncd.pass
12 chmod 600 /etc/rsyncd/rsyncd.pass
13. ln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
14. service xinetd start #启动xinetd服务
15. netstat -tunlp #查看进程占用端口,启动xinetd服务后有显示873端口被xinetd占用。
更改密码文件的权限。
客户端:
1.安装rsync软件。
2. yum -y install rsync
3. chmod 600 /etc/rsync.pas #这一步不可缺少,不然会报错。
4.在rsync服务器的backup模块的目录下:/home下创建一个文件。然后在客户端运行下方的命令,就可以把文件同步到本地了。可以在crontab里设置定时任务。利用这个我们可以做些数据的备份。比如定时备份数据库文件、备份网站源代码等。例如:
使用crontab定时备份数据:
一下命令是每隔2分钟就把web模块目录下和backup模块目录下的文件同步到本地的/opt/目录下
5.rsync -auv --password-file=/etc/rsync.pas [email protected]::backup /home/test/
6.将rsync服务器backup模块下目录里的文件同步到本地/home/test/目录下
2. 使用独立的方式运行:
配置上的区别在于:独立模式开启服务的命令是:
1. /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf 而不是service xinetd start
使用这么命令的前提是xinetd服务没有启动。不然的话,会出现端口冲突的情况。当然如果把rsync的端口更改成其他端口就不会冲突了。
2. 开启rsync服务之后,使用netstat -tunlp 可以查看到占用873端口的服务是rsync,而不是xinetd。
3 客户端不需要改变。
以下贴几个常用的rsync命令:
(1.) 把本地的/opt/html目录与服务器的web模块目录完全同步。
rsync -auv --password-file=/etc/rsync.pas --delete [email protected]::web /opt/html
(如果不想删除本地/opt/html目录下的现有的文件,请去掉--delete选项)
(2.)把本地目录/opt/jack/目录下的文件上传到服务器backup模块的目录下
rsync -vzrtopg --progress --progress --password-file=/etc/rsync.pas /opt/jack/ [email protected]::backup
3. 如何开启多个进程监听多个端口
两种方法:
(1)在第一个守护进程是xinetd的时候,可以使用/usr/bin/rsync --daemon --port 80端口设置一个独立进程来独立监听80端口,也可以使用其他端口。这种方法适用于大部分情况。一般情况下顶多监听2个端口。也更省力。
(2)另一种方法就是复制一份rsyncd.conf配置文件,然后修改配置文件的pid文件,否则启动的时候会提示PID已存在。然后使用/usr/bin/rsync --daemon --config=/opt/rsyncd.conf --port 8080 这条命名必须要指定配置文件,不然的系统会使用默认的配置文件。
在客户端使用同步命令的时候需要指定端口: