rsync
同步不同主机的文件时,一个作为服务端,另一个作为客户端。在服务端,一般称为rsyncd
服务端
安装
准备配置文件/etc/rsyncd.conf
1
2
3
4
5
6
7
8
9
|
[mindoc]
path = /var/www/mindoc
comment = Java mindoc
read only = true
hosts allow = 128.0.255.0/24
auth users = mindoc
secrets file = /etc/rsyncd.secrets
# 更多可用参数: man rsyncd.conf 查看说明
|
创建引用的/etc/rsyncd.secrets
,格式为用户名:密码
更改密码文件的权限
1
|
chmod 400 /etc/rsyncd.secrets
|
启动服务端
1
2
|
systemctl enable rsyncd
systemctl start rsyncd
|
客户端
安装
准备密码文件并更改为400
权限
1
2
3
|
# 这里的内容就是服务端的/etc/rsyncd.secrets里面的密码部分
echo "Password" > rsync.pass
chmod 400 rsync.pass
|
启动
1
2
3
4
5
6
7
8
9
10
11
|
cd /backups/
# 将服务端的/var/www/mindoc目录下所有文件同步至当前目录下.当源服务器中的文件被删除时,目标服务器中的文件也删除
rsync -aPvz --delete --password-file=rsync.pass mindoc@服务端IP::mindoc ./
# -a 归档模式
# -r 递归调用,一般要使用该选项,不然下级目录就不会同步
# -P 断点续传功能
# -v 输出详细信息
# -z 启用压缩
# -n 模拟执行,但并不会实际执行。一般配合-v使用
# --delete 在目标端删除源不存在的文件,要配合-r参数选项。
# --remove-source-files 同步成功后,删除源文件,类似于远程移动
|
Debug
如果有任何异常,可以查看服务端的/var/log/messages
文件,错误提示信息默认记录在该文件中