rsync配置使用简介

rsync是可以实现增量备份的工具。配合任务计划,rsync能实现定时或间隔同步,配合inotify或sersync,可以实现触发式的实时同步。

rsync 分为服务端和客户端两个部分,而我们需要配置的是服务端,客户端只需要配置一个密码文件即可。

1. 服务端配置

rsync 的配置文件为 /etc/rsyncd.conf,但是由于一般的系统都没有这个文件,所以我们首先需要创建这个文件。

vim /etc/rsyncd.conf

然后在里面填写如下内容:

port = 873 #指定监听端口,默认是873,可以自己指定
uid = rsync #守护进程所属的uid,默认是nobody,可能会碰到文件或目录权限问题,偷懒可用 root,一般设置为rsync
gid = rsync #守护进程的gid
use chroot = no #一般设置为no
read only = no #只读选择,只让客户端从服务器上读取文件
write only = yes #只写选择,只让客户端到服务器上写入

#允许访问的IP,可以指定单个IP,也可以指定整个网段,能提高安全性。格式是 ip 与 ip 之间、ip 和网段之间、网段和网段之间要用空格隔开;
hosts allow = 172.16.1.2
max connections = 5 #客户端最多连接数
log file = /var/log/rsync.log #rsync 服务器的日志;
transfer logging = yes #记录传输文件的日志
log format = %t %a %m %f %b #日志格式
syslog facility = local3 #日志级别
timeout = 300 #超时时间

#模块定义
#主要是定义服务器哪个目录要被同步。
#每个模块都要以[name]形式。这个名字就是在 rsync 客户端看到的名字。
#但是服务器真正同步的数据是通过 path 指定的。可以依次创建多个模块。
#每个模块要指定认证用户、密码文件,但排除并不是必须的。
[ logs ] #模块名,以下配置都属于此模块
path = /date #文件目录所在位置
list = no #当查看服务器上提供了哪些目录时是否列出来,no比较安全

ignore errors #忽略I/O错误

#用户的名和密码以明文方式存放在"secrets file"选项指定的文件中。默认情况下无需密码就可以连接模块(也就是匿名方式)

auth users = xxw

secrets file = /etc/rsyncd.secrets #密码文件



/etc/rsync.conf  配置结束

然后创建密码文件/etc/rsyncd.secrets,并写入虚拟账户和密码,中间以:隔开,设置权限为600.

touch /etc/rsyncd.secrets

echo "xxw:123456">/etc/rsyncd.secrets

chmod 600 /etc/rsyncd.secrets

创建共享文件夹 /date,设置用户和用户组为rsync,权限为755(一般默认为755)

mkdir /date

chown rsync.rsync /date


启动rsync.

rsync --daemon     #如果不行,用全路径执行     /usr/bin/rsync --daemon,如果进程已经存在,可以先pkill rsync,再启动。

最后检查进程是否开启。

lsof  -i:873      #或者   netstat  -ntulp | grep “:873”

至此,rsync 服务端配置完成。



2. 客户端配置

创建密码文件/etc/rsyncd.pass,并修改为 600 权限,写入服务端虚拟用户的密码。(只需要密码,不要账户)

echo "123456">/etc/rsyncd.pass

chmod 600 /etc/rsyncd.pass

至此,rsync 客户端配置完成。


全部配置完成后,可以测试了。

rsync -avzp /etc/hosts [email protected]::logs  --password-file=/etc/rsyncd.pass

结果反馈为:

sending incremental file list
hosts

sent 120 bytes  received 27 bytes  294.00 bytes/sec
total size is 158  speedup is 1.07


猜你喜欢

转载自blog.csdn.net/freshair_x/article/details/80208265
今日推荐