最近在做一个日志备份功能,需要从一台日志服务器上备份系统日志到另外一台机器。于是想到rsync同步工具。
下面写一下安装步骤及使用过程中遇到的一些问题。
###安装
```
wget https://download.samba.org/pub/rsync/src/rsync-3.1.3.tar.gz
tar -xf rsync-3.1.3.tar.gz
cd rsync-3.1.3
./configure --exec-prefix=/usr/local/rsync
make &make install
```
##配置
###服务端
rsyncd.conf #默认在/etc/下
```
#### 全局参数 ###
uid=aaa #rsync 运行用户名
gid=bbb #rsync 运行组名称
max connections = 50 #最大连接数
port=xxx #端口号
motd file=/home/data/server/rsync/rsyncd.motd #服务信息(描述性文案)
log file=/home/data/server/rsync/rsyncd.log #rsync系统日志
pid file=/home/data/server/rsync/rsyncd.pid #启动进程id存放目录
[backup] #模块
reverse lookup = no #禁用守护程序端的反向查找(可以不配置)
path=/home/logstash #要备份目录
uid = aaa #备份时使用的用户
gid = bbb #备份时使用的组
read only=false #只读(该模块为要备份的目录,不存在写)
exclude=/readme.txt /runtime #过滤哪些文件不需要同步
auth users=aaa #客户端连接用户名
hosts allow =xx.xx.xx.0/255.255.255.0 #允许目标客户端ip
secrets file = /home/data/server/rsync/rsyncd.secrets #用户名和密码
```
rsyncd.secrets #用户名密码
```
aaa:ccc
```
####给秘钥文件设置权限
```
chmod 600 rsyncd.secrets
```
###客户端
rsyncd.conf #默认在/etc/下
```
#### 全局参数 ###
uid=aaa #rsync 运行用户名
gid=bbb #rsync 运行组名称
max connections = 50 #最大连接数
port=xxx #端口号
motd file=/home/data/server/rsync/rsyncd.motd #服务信息(描述性文案)
log file=/home/data/server/rsync/rsyncd.log #rsync系统日志
pid file=/home/data/server/rsync/rsyncd.pid #启动进程id存放目录
[backup] #模块
reverse lookup = no #禁用守护程序端的反向查找(可以不配置)
path=/home/logstash #要备份到的目录
uid = aaa #备份时使用的用户
gid = bbb #备份时使用的组
read only=false #只读(该模块为要备份的目录,不存在写)
exclude=/readme.txt /runtime #过滤哪些文件不需要同步
auth users=aaa #客户端连接用户名
hosts allow =xx.xx.xx.0/255.255.255.0 #允许目标客户端ip
secrets file = /home/data/server/rsync/rsyncd.secrets #用户名和密码
```
####同步时使用密码文件
rsync.passwd
```
ccc #要和服务端密码一致
```
###拉取的方式同步 backup 模块名称
```
rsync -avz root@xx.xx.xx.xx::backup /home/data/logstash --password-file=/home/data/server/rsync/rsync.passwd
```