rsync使用

rsync==远程备份==

Rsync 与 scp的比较:scp 无法备份大量数据,类似Windows的复制

本地文件同步:

# -a 会将对应的内容、权限、时间等都同步,建议使用
# -v 显示传输了哪些文件,可以看到是差异备份

# 将/tm目录下的a目录(包括目录)同步到/tmp目录下的b目录里面
rsync -av /tmp/a /tmp/b

# 将/tm目录下的a目录里面的内容同步到/tmp目录下的b目录里面
rsync -av /tmp/a/ /tmp/b

远程文件同步:

ssh 模式

rsync -av -e "ssh -p 22" /tmp/a/ [email protected]:/tmp/c
[email protected]'s password:

# pull
rsync -av [email protected]:/tmp/a/ /tmp/c
# push
rsync -av /tmp/c/ [email protected]:/tmp/a/

守护进程模式

==服务端配置==

1、在服务端设置配置文件,开启守护进程

vi /etc/rsyncd.conf

#设置服务器信息提示文件名称,在该文件中编写提示信息
#motd file = /etc/rsyncd.motd
#开启Rsync 数据传输日志功能
#transfer logging = yes
#设置日志文件名称,可以通过log format 参数设置日志格式
#log file =/var/log/rsyncd.log
#设置Rsync 进程号保存文件名称
#pid file =/var/run/rsyncd.pid
#设置锁文件名称
#lock file =/var/run/rsync.lock
#设置服务器监听的端口号,默认为873
#port = 873
#设置服务器所监听网卡接口的IP 地址,这里服务器IP 地址为192.168.0.254
#address = 192.168.0.254

# ip白名单
hosts allow = 192.168.0.0/16
hosts deny = *
#设置进行数据传输时所使用的账户名称或ID 号,默认使用nobody
uid = root
#设置进行数据传输时所使用的组名称或GID 号,默认使用nobody
gid = root
#设置user chroot 为yes 后,rsync 会首先进行chroot 设置,将根映射到path参数路径下,对客户
#端而言,系统的根就是path 参数所指定的路径。但这样做需要root 权限,并且在同步符号
#连接资料时仅会同步名称,而内容将不会同步。
use chroot = no
#是否允许客户端上传数据,这里设置为只读。
read only = yes
#设置并发连接数,0 代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收
#到稍后重试的提示消息
max connections = 10
#模块,Rsync 通过模块定义同步的目录,模块以[name]的形式定义,这与Samba定义共
#享目录是一样的效果。在Rsync 中也可以定义多个模块
[common]
#comment 定义注释说明字串
comment = Web content
#同步目录的真实路径通过path 指定
path = /common
#忽略一些IO 错误
ignore errors
#exclude 可以指定例外的目录,即将common 目录下的某个目录设置为不同步数据
#exclude = test/

#用户名密码
auth users = myuser
secrets file = /etc/rsyncd.passwd

2、设置密码和权限

echo > "myuser:mima123" > /etc/rsyncd.passwd

chmod 600 /etc/rsyncd.passwd

3、启动rsync守护进程

rsync --daemon

==客户端使用==

# 手动输入密码同步
rsync -av [email protected]::common /tmp/c/
# 创建密码文件,免密同步
echo "mima123" > /etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd
# 拉取服务端文件到本地
rsync -av [email protected]::common /tmp/c/ --password-file=/etc/rsyncd.passwd

# 推送本地文件到服务端
rsync -av /tmp/c/ [email protected]::common --password-file=/etc/rsyncd.passwd
# 使用rsync协议推送
rsync -av /tmp/c/ rsync://[email protected]/common --password-file=/etc/rsyncd.passwd

你可能感兴趣的:(rsync使用)