rsync详细参数

1、-v,--verbose  详细模式输出,传输是的进度信息

2、-z,--compress  传输是进行压缩以提高传输效率,--comperess -level = NUM可以按级别压缩

3、-a,--archive  归档模式,表示以递归方式传输文件,并保持所有文件属性(等于-rtopgDl)

4、-r,--recursive  对子目录以递归模式,即目录下的所有目录都同样输出

5、-t,--times  保持文件时间信息

6、-o,--owner  保持文件属性信息

7、-p,--perms  保持文件权限

8、-g,--group  保持文件属组信息

9、-P,--progress  显示同步的过程及传输时的进度等信息

10、-D,--devices  保持设备文件信息

11、-l,--links  保留软连接

--version  #查看版本信息

--bwlimit  #设置限速【rsync、scp、ftp都有限速设置】

--delete  #比较两目录保留相同的删除不同的!(尽量少用)

 

***服务端***

一、配置好双网卡,一块负责外网通信,一块负责内网维护

rsync sftp 非标准端口 rsync加端口号_rsync sftp 非标准端口

第二张网卡不需要dns等

rsync sftp 非标准端口 rsync加端口号_推送_02

 

二、检查软件是否安装(rpm -aq rsync),没有就安装(yum install rsync),检查版本(cat /etc/redhat - release),检查是否安装服务器(rpm -aq telnet)

rsync sftp 非标准端口 rsync加端口号_运维_03

 

三、创建/etc/rsyncd.conf文本,用于配置rsync属性信息,在文本下写入一下内容

uid = rsync #用户主(远端的命令要使用rsync访问共享目录)
gid = rsync #用户组
use chroot = no #安全相关的
max connections = 200 #最大链接数
timeout = 300 #超时时间
pid file = /var/run/rsyncd.pid #进程对应的进程号文件
lock file = /var/run/rsync.lock #锁文件
log file = /var/log/rsyncd.log #日志文件(出错)
[backup] #模块名称
path = /backup #服务器提供访问的目录
ignore errors #忽略错误
read only = false #可写
list = false #不能列表(不能使用ls类似的功能)
hosts allow = 192.168.11.0/24 #允许那些机器链接
hosts deny = 0.0.0.0/32 #禁用那些机器链接
auth users = rsync_backup #虚拟用户
secrets file = /etc/rsync.password #虚拟用户对应的账号及密码

rsync sftp 非标准端口 rsync加端口号_推送_04

 

四、创建rsync虚拟用户及启动虚拟用户

useradd rsync -s /sbin/nologin -M  #创建虚拟用户

rsync --daemon  #启用虚拟用户

rsync sftp 非标准端口 rsync加端口号_运维_05

 

五、创建rsync的/backup/即改变它的属主、属组关系

mkdir /backup/  #创建目录

chown rsync.rsync /backup/  #改变其的数主、属组关系

rsync sftp 非标准端口 rsync加端口号_运维_06

 

六、创建rsync的密码文件,并设置成只有root用户才有权限

touch /etc/rsync.password  #创建

echo 'rsync_backup:oldboy' >>/etc/rsync.password  #写入

chmod 600 /etc/rsync.password  #修改其权限只有root能访问

 

rsync sftp 非标准端口 rsync加端口号_虚拟用户_07

 

***客户端***

一、安装telnet服务(yum install telnet -y),及检查服务端客户端防火墙是否关闭(/etc/init.d/iptables stop)

rsync sftp 非标准端口 rsync加端口号_rsync sftp 非标准端口_08

 

二、创建密码文本

echo 'oldboy' >/etc/rsync.password

rsync sftp 非标准端口 rsync加端口号_服务端_09

 

三、进行推送服务端

1、创建/backup目录

mkdir /backup

touch {1..10} /backup

chmod 600 /etc/rsync.password  #不设置只有root用户才能访问的话,每次传输都将输入密码

rsync sftp 非标准端口 rsync加端口号_rsync sftp 非标准端口_10

2、推送

方法一:rsync -az /backup/ rsync_backup@192.168.11.11::backup/ --password-file=/etc/rsync.password

方法二:rsync -az /backup/ rsync://rsync_backup@192.168.11.11/backup/ --password-file=/etc/rsync.password

rsync sftp 非标准端口 rsync加端口号_推送_11

 

注:外网ip负责提供用户访问,内网的ip负责推送

小结:

1、提示这个表示要么是服务端/etc/rsyncd.conf文件拒绝接入该ip地址或是文件配置有误

rsync sftp 非标准端口 rsync加端口号_运维_12

2、用户端的ip地址输入错误,或者是服务点未启用rsync服务

rsync sftp 非标准端口 rsync加端口号_推送_13

3、用户端的权限不够

rsync sftp 非标准端口 rsync加端口号_服务端_14

3、服务端/backup或用户端/backup的文件权限配置有误,限制为文件传输

rsync sftp 非标准端口 rsync加端口号_服务端_15

4、提示:rsync: chgrp "data" (in backup) failed: Operation not permitted (1),出现这个语句是因为rsyncd.conf没有配置fake super = yes

备注:查看进程

方法一:lsof -i :873

方法二:netstat -lntup|grep 873/rsync

关闭进程:pkill rsync

启动虚拟用户:rsync --daemon