Skip to main content
 Web开发网 » 站长学院 » pbootcms教程

Linux如何安全构建安全rsync?

2021年11月13日5580百度已收录

  随着安全要求的提高,我们逐渐采用sftp或scp来取代ftp。然而,可能由于网络状况等原因,使得scp/sftp可能发生中断。为此,不得不很痛苦的重新拷贝文件,不仅麻烦,还严重浪费带宽和时间。在这里,我们采用rsync over ssh的方式,既安全又方便,因为rsync支持断点续传。

配置rsyncd。conf

rsyncd。conf只需做非常简单的判断,考试大提示即可直接使用,贴一下例子:

#/etc/rsyncd。conf

#常规设定

uid = nobody

gid = nobody

use chroot = no

max connections = 5

#设定日志

syslog facility = local5

pid file = /var/run/rsyncd。

  pid

#多种方式设定许可hosts列表

hosts allow=192。168。0。1,192。168。0。2,192。168。1。0/255。255。255。0

#设定rsyncd目录

[backup]

path = /home/yejr/

#如果同时还允许上传文件,把 read only 设成 false 即可

read only=false

考试大提示由于采用的是rsync over ssh,因此无需启动rsyncd实例,而是通过ssh来rsync,非常简单。

  考试大提示注意到上面的 read only=false,可能很多人认为rsync只能用于下载,不能上传,其实不然,这么设置一下之后,就可以利用rsync上传文件了。

看下面的例子。

使用

下载文件

rsync -P -av --timeout=10 --rsh="ssh -l yejr" 192。

  168。0。84::backup/yejr/

/home/yejr/

把服务器上的目录 /home/yejr/ 上的所有文件下载到本地目录 /home/yejr/ 下。

在这里,需要注意目录名后面是否带上了目录分解符 /,如果有,那么只处理目录下的文件,如果不带,则把目录名本身也下载了。

上传文件

rsync -P -av --timeout=10 --rsh="ssh -l yejr" /home/yejr/

192。168。0。84::backup/yejr/

把/home/yejr/目录下的文件上传到服务器 /home/yejr/ 下,即:/home/yejr/*。

上传目录结构

rsync -P -av --timeout=10 --include '*/' --exclude '*' --rsh="ssh -l yejr"

/home/yejr/ 192。168。0。84::backup/yejr/

or

rsync -P -av --timeout=10 --include '*/' --exclude '*' --rsh="ssh -l yejr"

192。

  168。0。84::backup/yejr/ /home/yejr/

有些时候,我们需要先同步一下目录结构而无需上传/下载文件,就采用这种方式。

评论列表暂无评论
发表评论
微信