简介

rsync是一个快速和非常灵活的文件拷贝工具,增量拷贝工具。

rsync的使用方式与SCP差不多,但rsync相对SCP有更多的额外选项。通过rsync –help命令可以查看支持选项类型的完整列表和帮助信息。

rsync通常使用SSH或RSH与远程通信系统,它不需要设置,也不需要特殊的权限来安装。使用ssh是相对比较安全的,也是推荐的。

rsync守护进程方式启动是通过指定的选项–daemon来完成的,默认端口为873。rsync必须以root身份运行,因为它必须具有读取和写入数据、日志和锁定文件的权限。

安装配置

1,下载安装,直接到官网找到你需要下载的版本,复制下载地址,直接到服务器上使用wget下载安装

1
2
3
4
5
6
7
8
9
10
11
12
wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz

tar -zxvf rsync-3.1.2.tar.gz

cd rsync-3.1.2

./configure

make

make install

安装完成后,会把rsync命令文件路径输出,注意记下来,一般是/usr/local/bin目录,然后可以查看版本号来检查是否安装成功

1
rsync --version

2,配置文件

目前,rsync安装完成后,不会预设一些配置文件,相关的配置文件都需要自己去新建,关于配置文件的官方介绍地址:
https://download.samba.org/pub/rsync/rsyncd.conf.html

1),创建相关文件夹

1
2
3
mkdir -p /etc/rsync/conf
mkdir -p /etc/rsync/log
mkdir -p /etc/rsync/run

2),创建rsyncd.secrets秘钥文件

1
2
echo "root:pwd333" >> /etc/rsync/conf/rsyncd.secrets
chmod 600 /etc/rsync/conf/rsyncd.secrets

3),创建motd欢迎文件

1
echo "-----------------rsync-----------------" >> /etc/rsync/conf/rsyncd.motd

4),创建rsyncd.conf主配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
echo "uid = nobody
gid = nobody
use chroot = yes
max connections = 100
list = yes
timeout = 300
port = 873
log file = /etc/rsync/log/rsync.log
pid file = /etc/rsync/run/rsyncd.pid
lock file = /etc/rsync/run/rsync.lock
motd file = /etc/rsync/conf/rsyncd.motd
secrets file = /etc/rsync/conf/rsyncd.secrets

[test]
path = /data/test
comment = test rsync
ignore errors
auth users = root
read only = no
hosts allow = ssh.soilove.cn" >> /etc/rsync/conf/rsyncd.conf

3,启动服务,重新启动,如果pid文件存在会提示错误,所以先删除文件再启动

1
2
3
rm /etc/rsync/run/rsyncd.pid

/usr/local/bin/rsync --daemon --config=/etc/rsync/conf/rsyncd.conf

4,在另一台服务器上也按照同样的步骤安装好rsync即可

数据拷贝

1,从远程服务器拉取数据:

1
rsync -vzrtopg --progress root@soilove.cn::test /home/test

输出:

1
2
3
4
5
6
7
8
9
10
11
12

[root@izuf65v28cpic4oqb2e45ez home]# rsync -vzrtopg –progress root@soilove.cn::test /home/test
—————–rsync—————–

Password:
receiving incremental file list
./
a.txt
2 100% 1.95kB/s 0:00:00 (xfr#1, to-chk=0/2)

sent 50 bytes received 119 bytes 37.56 bytes/sec
total size is 2 speedup is 0.01

2,拉取数据时指定忽略文件,这里的指定的忽略文件是配置的/data/test的相对路径

1
rsync -vzrtopg --progress --exclude=cc.txt root@soilove.cn::test /home/test

3,推送数据到远程服务器:

1
rsync -vzrtopg --progress /home/test/* root@soilove.cn::test

官方文档:

https://rsync.samba.org
https://download.samba.org/pub/rsync/rsyncd.conf.html