简单单向同步配置:

安装redhat7.1系统时,已经安装rsync,版本rsync-3.0.9-19.e17.x86_64。


创建配置文件:

touch /etc/rsyncd.conf #创建rsyncd.conf,这是rsync服务器的配置文件。


(以下暂时用不上)

************************************************************************************

touch /etc/rsyncd.secrets #创建rsyncd.secrets ,用户密码文件。
chmod 600 /etc/rsyncd.secrets #将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
touch /etc/rsyncd.motd #提供信息文件


密码文件/etc/rsyncd.secrets:

vim /etc/rsyncd.secrets 
user:psw #用户名:密码


设定rsyncd服务器的信息提示,用户登录的时候,会看到服务器的提示信息。

# vim /etc/rsyncd.motd 
+++++++++++++++++++ Welcome to *****!!! +++++++++++++++++++

************************************************************************************


conf文件:

#运行RSYNC守护进程的用户
uid = root
#运行RSYNC守护进程的组
gid = root
#不使用chroot
use chroot = no
#最大连接数不限制
max connections = 0
#pid文件存放位置
pid file = /var/run/rsyncd.pid
#锁文件存放位置
lock file = /var/run/rsync.lock
#日志文件存放位置
log file = /var/log/rsyncd.log
[logs]
#要同步的目录
path = /usr/local/myfiles
#忽略无关的IO错误
ignore errors
#只读,不能上传
read only = true
#禁止查看文件列表
list = false
#允许访问服务的ip
#hosts allow = 202.200.*.*
#禁止访问服务的ip
#hosts deny = 0.0.0.0/32
#认证的用户名,系统必须存在的用户,但是密码需要在secrets file 配置,不是系统的密码。
auth users = root
#认证用户密码文件,配置auth users的密码
secrets file = /etc/rsyncd.secrets



查看rsync有无启动:

netstat -ntpl

或直接查看端口号

netstat -anp|grep 873

以服务器模式启动rsync –dameon参数

/usr/local/rsync/bin/rsync --daemon —config=/etc/rsyncd.conf #--config用于指定rsyncd.conf的位置,如果在/etc/目录就不用指定,默认为/etc目录下录找此文件。


添加rsync到系统自启动

systemctl enable rsyncd


服务端:192.168.128.131,客户端:192.168.128.132

同步方法:

rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles

同步本地myfiles文件到客户端相同目录

--delete:保持删除文件同步

此时会提示用户登录密码


无密码同步方法:

1. 使用ssh-keygen生成密匙

使用ssh-keygen在本地生成公钥和私钥。

$ ssh-keygen
 Enter passphrase (empty for no passphrase):
 Enter same passphrase again:

提示:当提示输入密码时,只需输入两次回车键,不指配密码字符。


2. 使用ssh-copy-id将公匙拷贝至远程主机

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.128.132

提示:执行以上操作时,将会提示输入远程主机帐户和密码,然后就会自动将公匙拷贝至远程目录。


3. 重新来执行rsync,现在应该就不会提示输入密码了

rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles


最后,加入定时计划备份。

crontab -e
*/3 * * * *  /usr/bin/rsync -av -e -ssh --delete /usr/local/myfiles/ 192.168.128.132:/usr/local/myfiles