需求
同步远程服务器指定文件夹 activity
到本地
方案
使用 rsync
同步工具
实施
服务端
- 开启
rsync
(这里以centos7
为例)
systemctl start rsyncd
- 编辑配置文件
vi /etc/rsyncd.conf
添加如下定义
[activity]
path = /mnt/html/activity
hosts allow = 111.111.111.111
auth users = activity
secrets file = /etc/rsyncd_server.passwd
exclude = public/activity/upload storage/*
- 添加编辑密码文件
vi /etc/rsyncd_server.passwd
按 user:passwd 形式添加用户和密码
activity:123456
这里提到的 user 和 系统用户没有任何关系
是自己定义的
可以理解为 使用 rsync 时客户端和服务端约定的用户和密码
比如下面提到的 activity 其实就不是一个系统用户
- 将密码文件权限设置为 600(这一步必不可少)
chmod 600 /etc/rsyncd_server.passwd
客户端
- 添加编辑密码文件
vi /etc/rsyncd_client.passwd
直接填入服务端约定好的密码即可
123456
- 将密码文件权限设置为 600(这一步必不可少)
chmod 600 /etc/rsyncd_client.passwd
- 使用命令将制定服务器上的文件同步到本地
# 注意这里 `--progress`和`--password-file` 最前面的是双横线
rsync -avz --progress activity@110.110.110.110::activity /mnt/html/activity --password-file=/etc/rsyncd_client.passwd
rsync 详细使用和参数含义详细解释可参考一下链接
http://www.jianshu.com/p/a633a9ba07c3
http://man.linuxde.net/rsync