rsync是一个快速、通用的文件复制工具。支持两种工作模式:基于shell的传输、基于服务的传输。
1.配置文件
rsyncd.conf文件由模块及其参数构成。模块由方括号包裹模块名称,直到下一个模块结束。参数如“name
=
value”,等号两端的空白符被忽略,以及行首、行尾,中间的空白字符只保留一个。所有的value都是字符串,包括布尔值的表示依然是个字符串。注释行以“#”开头。一个特殊模块用来作为全局配置,“global”。
全局参数 | 说明 |
---|---|
port | 覆盖默认873端口 |
address | 覆盖默认监听地址 |
模块参数
模块参数 | 说明 |
---|---|
comment | 为模块添加注释 |
path |
必选项,每个模块必选 |
use chroot |
配置方法: use chroot = yes|0|true use chroot = no|1|false |
max connections | 并发连接数,默认为0,表示不限制 |
read only |
客户端可以上传文件与否。 如果“read only = true”,上传将报错。每个模块,默认为“true”,拒绝上传。 |
write only |
客户端可以下载文件与否。 如果“write only = true”,下载将失败。每个模块,默认为“false”,可以下载。 |
list |
客户端可以查看到该模块与否。 |
uid | 定义工作进程的用户身份 |
gid | |
auth users | 允许连接连接到该模块的用户名 |
secrets file |
模块用户的密码库,格式如”name:password“。 secrets file = /etc/rsyncUser |
strict modes |
检查密钥文件的权限 为true,检查密码库权限(不允许其他用户读) |
# 实例: use chroot = yes timeout = 1200 uid = nobody gid = nobody # zhaocai [zhaocai] path = /data01/logs4developers/zhaocai/ comment = "Provide logs for developers to browse." list = true read only = false auth users = mahan secrets file = /etc/rsyncUser strict modes = true # secrets file: username:password
密码文件的属性需要注意:(报错返回:5)
[root@file Logs4developers]# ll /etc/rsyncUser -rw------- 1 root root 13 Aug 31 19:08 /etc/rsyncUser
2.操作
查看列表
[view@app47 ~]$ rsync rsync:: zhaocai "Provide logs for developers to browse."
操作时,只能新建一级目录
[view@app47 ~]$ rsync --password-file=.rsync/user /opt/caibao_8080/logs/* mahan@rsync::zhaocai/app47/
成功执行后,就剩一件事情了,把操作放到crontab即可。