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 |