Appearance
rsync
https://www.samba.org/ftp/rsync/rsync.html
remote synchronize 是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件。 也可以使用 rsync 同步本地硬盘中的不同目录。rsync 是用于替代 rcp 的一个工具,rsync 使用所谓的 rsync 算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份 传送,因此速度相当快。
安装
yum install -y rsync
源服务器
配置
vi /ect/rsyncd.conf
nginx
uid = 0
gid = 0
[ftp]
# 设置同步的目录
path = /usr/local/nginx/html启动
rsync --daemon
目标服务器
远程目录下的文件
rsync --list-only 192.168.44.101::ftp/
同步
rsync -avz 192.168.44.101::ftp/ /usr/local/nginx/html/
开启启动
在 /etc/rc.local 文件中添加
rsync --daemon安全认证
源服务器
设置用户名和密码
echo "foo:bar" >> /etc/rsyncd.pwd
chmod 600 /etc/rsyncd.pwd修改配置
vi /ect/rsyncd.confnginx
uid = 0
gid = 0
auth users = foo
secrets file = /etc/rsyncd.pwd
[ftp]
# 设置同步的目录
path = /usr/local/nginx/html重启 rsync
ps -ef | grep rsync
kill 7260
rsync --daemon目标服务器
远程目录下的文件
需要输入密码 bar
rsync --list-only foo@192.168.44.101::ftp/同步
需要输入密码 bar
rsync -avz foo@192.168.44.101::ftp/ /usr/local/nginx/html/免密码
echo "bar" >> /etc/rsyncd.pwd.client
chmod 600 /etc/rsyncd.pwd.client
rsync --list-only --password-file=/etc/rsyncd.pwd.client foo@192.168.44.101::ftp/
rsync -avz --password-file=/etc/rsyncd.pwd.client foo@192.168.44.101::ftp/ /usr/local/nginx/html/选项
| 选项 | 含义
| -a | 包含-rtplgoD
| -r | 同步目录时要加上,类似cp时的-r选项
| -v | 同步时显示一些信息,让我们知道同步的过程
| -l | 保留软连接
| -L | 加上该选项后,同步软链接时会把源文件给同步
| -p | 保持文件的权限属性
| -o | 保持文件的属主
| -g | 保持文件的属组
| -D | 保持设备文件信息
| -t | 保持文件的时间属性
| –delete | 删除目标服务中比源服务器多出来的文件
| –exclude | 过滤指定文件,如–exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步 | -P | 显示同步过程,比如速率,比-v更加详细
| -u | 加上该选项后,如果DEST中的文件比SRC新,则不同步
| -z | 传输时压缩
实时推送
目标服务器
设置用户名和密码
echo "foo:bar" >> /etc/rsyncd.pwd
chmod 600 /etc/rsyncd.pwd修改配置
vi /ect/rsyncd.confnginx
uid = 0
gid = 0
read only = no
auth users = foo
secrets file = /etc/rsyncd.pwd
[ftp]
# 设置同步的目录
path = /usr/local/nginx/html重启 rsync
ps -ef | grep rsync
kill 7260
rsync --daemon源服务器
echo "bar" >> /etc/rsyncd.pwd.client
chmod 600 /etc/rsyncd.pwd.client推送
rsync -avz --password-file=/etc/rsyncd.pwd.client /usr/local/nginx/html/ foo@192.168.44.102::ftp/