简单单向同步配置:
安装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 �Cdameon参数
/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