22 Rsync 命令详解 – 进阶篇 – 上

22 Rsync 命令详解 – 进阶篇 – 上

1
2
3
https://www.cnblogs.com/linyouyi/p/10437702.html
https://www.cnblogs.com/weikui/p/10584599.html
http://blog.51cto.com/douer/1914098

1. 查看是否已经安装了rsync

1
rpm -qa | grep rsync

2. 安装rsync

1
yum install -y rsync

3-1. 创建同步文件所需要的密码文件 – 服务端[密码:test_123]

1
2
touch /etc/rsyncd.secrets
echo 'test_123' > /etc/rsyncd.secrets

3-2. 创建同步文件所需要的密码文件 – 客户端[账号:test,密码:test_123]

1
2
touch /etc/rsyncd.secrets
echo 'test:test_123' > /etc/rsyncd.secrets

4. /etc/rsyncd.secrets 赋予 600 权限

1
chmod 600 /etc/rsyncd.secrets

5. rsync的配置文件位置:

1
vi /etc/rsyncd.conf

6-1-1. rsync的配置文件命令 – rsync服务的运行用户,uid 为 nobody – 默认

1
uid = nobody

6-1-2. rsync的配置文件命令 – rsync服务的运行用户, uid 为 root

1
uid = root

6-1-3. rsync的配置文件命令 – rsync服务的运行用户, uid 为 test

1
uid = test

6-2-1. rsync的配置文件命令 – rsync服务的运行组,gid 为 nobody – 默认

1
gid = nobody

6-2-2. rsync的配置文件命令 – rsync服务的运行组, gid 为 root

1
gid = root

6-2-2. rsync的配置文件命令 – rsync服务的运行组, gid 为 test

1
gid = test

6-3-1. rsync的配置文件命令 – rsync daemon在传输前是否切换到指定的path目录下,并将其监禁在内 – 是

1
use chroot = true

6-3-2. rsync的配置文件命令 – rsync daemon在传输前是否切换到指定的path目录下,并将其监禁在内 – 否

1
use chroot = false

6-4-1. rsync的配置文件命令 – 指定最大连接数量,0表示没有限制 – 10000

1
max connections = 10000

6-4-2. rsync的配置文件命令 – 指定最大连接数量,0表示没有限制 – 没有限制

1
max connections = 0

6-5-1. rsync的配置文件命令 – 指定是否监测口令文件的权限 – 是

1
strict modes = true

6-5-2. rsync的配置文件命令 – 指定是否监测口令文件的权限 – 否

1
strict modes = false

6-6-1. rsync的配置文件命令 – 设置rsync进程号保存文件名称

1
pid file = /var/run/rsyncd.pid

6-6-2. rsync的配置文件命令 – 设置锁文件名称

1
lock file = /var/run/rsync.lock

6-6-3. rsync的配置文件命令 – 设置日志文件名,可通过log format参数设置日志格式

1
log file = /var/log/rsyncd.log

6-6-4-1. rsync的配置文件命令 – 日志记录格式 = %t %a %m %f %b

1
log format = %t %a %m %f %b

6-6-4-2. rsync的配置文件命令 – 日志记录格式 = %a-%o-%a-%m-%u-%f-%l

1
log format = %a-%o-%a-%m-%u-%f-%l

6-6-5. rsync的配置文件命令 – 客户端连接过来显示的消息

1
motd file = /etc/rsyncd.motd

6-7. 指定rsync端口 – 设置服务器监听的端口号,默认是873

1
port = 873

6-10. rsync的配置文件命令 – 模块[web]

1
[web]

6-11. rsync的配置文件命令 – 路径

1
path = /home/wwwroot/default/

6-12. rsync的配置文件命令 – 注释

1
comment = web file

6-14-1. rsync的配置文件命令 – 只读 – 否

1
read only = false

6-14-2. rsync的配置文件命令 – 只读 – 是

1
read only = true

6-15-1. rsync的配置文件命令 – 只写 – 否

1
write only = false

6-15-2. rsync的配置文件命令 – 只写 – 是

1
write only = true

6-16-1. 只允许192.168.122.1访问

1
hosts allow = 192.168.122.1

6-16-2. 只允许192.168.122.1,192.168.122.2访问

1
hosts allow = 192.168.122.1 192.168.122.2

6-16-3. 允许所有的访问

1
hosts allow = *

6-17-1. 不允许192.168.122.1访问

1
hosts deny = 192.168.122.1

6-17-2. 不允许192.168.122.1,192.168.122.2访问

1
hosts deny = 192.168.122.1 192.168.122.2

6-17-3. 不允许所有的访问

1
hosts deny = *

6-18-1. 确保rsync服务器不会永远等待一个崩溃的客户端 – 设置为0 ,不限制 -默认

1
timeout = 0

6-18-2. 确保rsync服务器不会永远等待一个崩溃的客户端 – timeout 设置为600 [10分钟]

1
timeout = 600

6-19-1. 客户端请求显示模块列表时,本模块名称是否显示 – 是 – 默认

1
list = true

6-19-2. 客户端请求显示模块列表时,本模块名称是否显示 – 否

1
list = false

6-20. 授权账户 test

1
auth users = test

6-21. 授权账户 密码文件

1
secrets file = /etc/rsyncd.secrets

6-22. exclude指定common目录下 /home/wwwroot/default/zls 某个目录可以不同步数据

1
exclude = /home/wwwroot/default/zls

6-23. 忽略一些IO错误

1
ignore errors

6-24. 指定哪些文件不用进行压缩传输 ” *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 ”

1
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

6-25. 启动rsyncd

1
systemctl start rsyncd.service

6-26. 设置开机启动rsyncd

1
systemctl enable rsyncd.service

6-26. 查看是否已经启动

1
2
ps -ef | grep rsync
netstat -tulpn | grep rsync

6-27. 放行873端口

1
2
3
firewall-cmd --zone=public --permanent --add-port=873/tcp
firewall-cmd --zone=public --permanent --add-port=873/udp
firewall-cmd --reload

如果服务器在阿里云,需要在网页上打开873端口


6-28. 关闭SELINUX

1
vi /etc/selinux/config
1
SELINUX = disabled

立即生效

1
setenforce 0

Leave a Reply

Your email address will not be published. Required fields are marked *