-r 是递归
-l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
-u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
安装rsync
yum -y install rsync 联网安装,两边都要装(手敲)
rpm -qa rsync 查看软件是否安装
创建文件夹
touch /etc/rsyncd.conf(rsyncd.conf文件内容在本篇文章最下面)
touch /etc/rsyncd.secrets
touch /etc/rsyncd.motd
将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
chmod 600 /etc/rsyncd.secrets
配置rsyncd.motd文件(不写也可以,随便写什么内容,只是一个欢迎页面)
配置rsyncd.secrets文件(username:password格式,多个用户换行)
.服务端添加 添加用户:密码.
vim /etc/rsyncd.secrets
root:123456
rsyncd.conf文件配置参数
pid file = /var/run/rsyncd.pid #此路径不用配置,自动创建,如果配置了会报错(如果已经存在,就去删掉)
port=873 #指定运行端口,默认是873,您可以自己指定
address=192.168.0.144 #服务端IP地址
uid=root #指定执行的用户和用户组,默认是nobody,可能遇到权限问题,有些文件从服务器上拉不下来
gid=root
read only=yes #只读选择,也就是说,不让客户端上传文件到服务器上
hosts allow=192.168.0.145 #允许的IP,多个IP可以用,分隔
max connections=5 #允许最大连接的客户端数
motd file=/etc/rsyncd.motd #rsyncd.motd文件路径
log file=/var/log/rsync.log #rsync服务器日志
transfer logging=yes #传输文件的日志
log format = %t %a %m %f %b #日志格式
[test] #自定义模块
path=/opt/u01/ #指定文件目录所在位置,这是必须指定的
ignore errors #忽略IO错误
list=yes #list 意思是把rsync 服务器上提供同步数据的目录在服务器上模块是否显示列出来
auth users=root #必须系统存在,多个用户用“,”分隔
secrets file=/etc/rsyncd.password #密码文件的位置
comment=linuxsir home data #注释(随便啥内容)
exclude = beinan/ samba/ #排除/opt/u01/下的文件夹,多个用空格隔开
[data]
path=/opt
list=yes
ignore errors
auth users=root
secrets file=/etc/rsyncd.secrets
comment=This is RHEL 4 data
关闭防火墙,
开放873端口:iptables -A INPUT -p tcp --dport 873 -j ACCEPT
启动rsync服务端:#/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
查看状态 lsof -i :873
首先:我们看看rsync服务器上提供了哪些可用的数据源
rsync --list-only [email protected]::
vim /etc/xinetd.d/rsync修改参数
客户端disable = no,其他不动。
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
rsyncd.conf和rsyncd.motd都不需要配置
touch /etc/rsyncd.secrets
rsyncd.secrets文件(该文件是免密设置,可以不配置,那么需要手动输入密码)格式:密码
vim /etc/rsyncd.secrets
123456
rsync --list-only [email protected]::
rsync -avz --password-file=/etc/rsyncd.password [email protected]::test /opt/u01/
rsync -avz 密码文件位置 服务端用户名@服务端IP::自定义模块名 同步到本地的地址
rsync -avH /uu01/ 192.168.0.131:/hy
rsync -avH 本地目录 本地IP:本地路径
(将本地uu01的文件夹下的文件同步到hy文件夹下)
rsync -avH /uu01 192.168.0.131:/hy
(将本地uu01文件夹(包括里面的文件)同步到hy文件夹下)
read only=no,不然会报错
rsync -av /hy [email protected]::test
rsync -av 本地路径 远程用户@远程IP::模块名
(将本地的hy文件夹同步到test的模块中的/opt/u01路径下)
附件:rsyncd.conf内容
pid file = /var/run/rsyncd.pid
port=873
address=192.168.0.144
uid=root
gid=root
read only=yes
hosts allow=192.168.0.145
max connections=5
motd file=/etc/rsyncd.motd
log file=/var/log/rsync.log
transfer logging=yes
[test]
path=/opt/u01/
ignore errors
read only=no
list=no
hosts allow=192.168.0.145
auth users=root
list=yes
ignore errors
secrets file=/etc/rsyncd.password
comment=this is test
[data]
path=/opt
list=yes
ignore errors
auth users=root
secrets file=/etc/rsyncd.secrets
comment=this is data
完。