首页杂项 › rsync 文件同步/传输,增量备份传输利器使用教程

rsync 文件同步/传输,增量备份传输利器使用教程

刚刚看到一个老牌的ECVPS跑路了,在这里再说一下再可靠的服务商也要做好留一手的准备,谁还没可能有个小灾小难,做好备份,多处备份,你手里有备份才是王道。作为站长或者运维,在服务器上从这台同步到另外一台是很频繁的操作,之前我们介绍过用scp传输文件或目录,但是不能判断文件是否更改,是否有文件增删,每次都是覆盖,会浪费掉很多时间。今天推荐的是另外一个利器rsync,全称remote synchronize。它的特性如下:安装方便、可以镜像保存整个目录树和文件系统、可以容易的保持原来文件的权限、时间、软硬链接等等、文件传输效率高、可以使用ssh等方式来传输文件也可以通过直接的socket连接等。

安装rsync

CentOS/Fedora/RHEL:

Debian/Ubuntu:

 

rsync使用教程

rsync有两种工作方式:SSH和daemon。

  • SSH方式是使用系统上的用户通过SSH进行同步操作。
  • daemon方式是rsync服务器会开一个873端口,等待客户端去连接,连接是进行验证,通过后进行同步。

一、SSH模式下进行同步操作

SRC代表源目录,DEST代表目标目录,当通过ssh链接时, 有时需要指定ssh端口, 请使用这个方式:rsync -options -e “ssh -p 10000” SRC DEST

下面举例说明一下常用到的场景:

1.1:本地拷贝目录,将/home/wwwroot/xxx/拷贝到/data/wwwroot/xxx/

rsync -avu /home/wwwroot/xxx/ /data/wwwroot/xxx/

1.2:将本地目录拷贝到远程服务器

如果改了SSH端口,需要加-e “ssh -p 你的SSH端口”,如果不想显示具体传输过程可以去掉P参数,如果需要压缩传输可以加z参数。

–delete 参数,这样当本地删除的文件,远程端也会删除,保持完整的一致。

1.3:将远程服务器目录拷贝到本地

二、daemon模式的配置

rsync daemon模式是以rsync服务器形式运行,首先我们需要创建rsync服务器的配置文件,配置文件:/etc/rsyncd.conf 默认此文件可能不存在,需要自己创建,配置信息如下:

写入配置时请将上面的注释信息去掉,并调整里面的相关参数。我们也提供了一个模板文件rsyncd.conf可自己下载放到/etc/下并修改相关参数。

/etc/rsyncd.secrets 文件权限必须是600,创建好该文件后可以执行:

注意:默认rsync服务器并不是自动启动的!

Debian/Ubuntu上是带自启动脚本的,修改 /etc/default/rsync ,将里面的RSYNC_ENABLE=false 改成 RSYNC_ENABLE=true 保存就设成开机自启动了。

CentOS上启动脚本都是不带的,执行:

即可启动。

测试rsync服务器:

进行连接测试,注:@前的xxx为自定义模块里设置的用户名,::后面的xxx为你自定义模块的名称。

rsync使用小技巧:

1、可以用rsync快速删除大量文件:
建立一个空的文件夹:

用rsync删除目标目录:

这样我们要删除的 cache目录就会被清空了,删除的速 度会非常快。

2、如果开启了iptables防火墙,请将873端口加入防火墙允许规则。

3、用户可以自己根据自己的需求选择SSH或daemon模式
配合crontab定时执行任务 自动完成同步、备份等工作。

rsync 常用参数的具体解释如下:

发表评论