学习使用Rsync的记录

Rsync的介绍

Rsync是一种快速且高效的数据同步工具,最初由Andrew Tridgell和Paul Mackerras于1996年开发。它的主要功能是通过增量复制,将本地和远程文件进行同步,极大地节省了带宽和时间。Rsync采用了一种独特的算法,只传输文件的差异部分,而不是整个文件,这使得数据传输更加高效。此外,Rsync支持多种传输协议,包括SSH和RSH,具有良好的安全性和灵活性。它广泛应用于备份、镜像和数据迁移等场景,因其简便易用而受到用户的欢迎。

Rsync本地同步

1.同步本地两个文件

1
2
# 将home目录下的test文件夹里的内容同步到home目录下的back文件夹
rsync -av /home/test /home/back

Rsync远程同步

——Rsync可以使用SCP服务同步远程服务器,因此,服务器只需开启SCP服务即可,不需要安装Rsync

——Rsync作为后台服务,通过模组,由客户端连接服务端进行同步,不通过SSH连接

1.Rsync通过SSH连接远程服务器

将本机home目录下的test文件夹里的内容同步到 192.168.1.1 机子home目录下的back文件夹

1
2
# rsync的push用法
rsync -av -e "ssh -p 22" /home/test root@192.168.1.1:/home/back

“ssh -p 22”:这里22是远程同步服务器的SSH端口

“root”:远程服务器登录用户名

“192.168.1.1”:远程服务器IP地址

2.Rsync通过模组同步

服务器端配置文件存放路径

1
nano /etc/rsyncd.conf
1
2
3
4
5
6
7
8
uid = root
gid = root

[test]
path = /home/test
list = yes
read only = no
ignore errors

服务端同步到本地

将服务端home目录下的test文件夹里的内容同步到本机home目录下的back文件夹

1
rsync -av 192.168.1.1::test /home/back

本地到服务端

将本地home目录下的back文件夹里的内容同步到服务器home目录下的test文件夹

1
rsync -av /home/back 192.168.1.1::test

3.Rsync添加密码鉴权

修改服务器端配置文件

1
2
3
4
5
6
7
8
9
10
11
uid = root
gid = root

secrets file = /etc/rsyncd.secrets

[test]
path = /home/test
list = yes
read only = no
ignore errors
auth users = mubai

密码文件

路径/etc/rsyncd.secrets

1
mubai:123456

配置密码文件权限为600

1
chmod 600 /etc/rsyncd.secrets

同步命令

1
rsync -av mubai@192.168.1.1::test /home/back

客户端配置密码文件

路径/etc/rsync.password

1
123456

配置密码文件权限为600

1
chmod 600 /etc/rsync.password

修改后命令

1
rsync -av --password-file=/etc/rsync.password mubai@192.168.1.1::test /home/back