# rsync

Rsync 服务端和客户端都需要安装

yum -y install rsync

# 远程同步

# SSH

推文件

rsync -av --delete -e "ssh -p 22" /etc/passwd 192.168.11.26:/tmp/passwd.txt

拉文件

rsync -av --delete -e "ssh -p 22"  192.168.11.26:/tmp/passwd.txt /tmp/test.txt

# Rsync

推文件

rsync -avz --password-file=/root/passwd /tmp/ admin@192.168.204.130::module/destination

拉文件

rsync -avz --password-file=/root/passwd  admin@192.168.204.130::module/destination /tmp

上面地址中的 module 并不是实际路径名,而是 rsync 守护程序指定的一个资源名,由管理员分配。

如果想知道 rsync 守护程序分配的所有 module 列表,可以执行下面命令。

rsync rsync://192.168.122.32

rsync 协议除了使用双冒号,也可以直接用 rsync:// 协议指定地址。

rsync -av source/ rsync://192.168.122.32/module/destination

列举整个同步目录或指定目录

rsync 192.168.11.26::
rsync 192.168.11.26::module

# SSH+Rsync

rsync -avz --rsh="ssh -l root" admin@192.168.11.26::module

rsync -avz -e "ssh -l root" admin@192.168.11.26::module

rsync -avz -e "ssh -l root" rsync://admin@192.168.11.26/module

# 配置

# 服务端配置

# /etc/rsyncd.conf
motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
port = 873
address = 192.168.204.130
uid = nobody
gid = nobody
use chroot = no
read only = no
max connections = 10
[common]
comment = rsync info
path = /tmp
ignore errors
auth users = admin
secrets file = /etc/rsyncd.secrets
hosts allow = 192.168.204.0/255.255.255.0
hosts deny = *
list = false

创建用户密码文件

echo "admin:123456" > /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets

创建提示信息文件

echo  "rsync info"  >  /etc/rsyncd.motd

启动服务

rsync --daemon
echo "rsync --daemon" >> /etc/rc.local

# 客户端配置

创建密码文件

echo "123456" > /root/passwd
chmod 600 /root/passwd