用rsync实现网站镜像和备份

服务器端

# more /etc/rsyncd.conf

uid = nobody

gid = nobody

use chroot = no

max connections = 4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[wap]

path = /usr/local/backup

ignore errors

read only = yes

list = no

hosts allow = 192.168.1.2

hosts deny = 0.0.0.0/32

auth users = backup

secrets file = /etc/rsyncd.secrets

# more /etc/rsyncd.secrets

backup:backup

# chmod 600 /etc/rsyncd.secrets

# chown root.root /etc/rsyncd.secrets

# rsync --daemon

客户端

# more /etc/rsync.pass

backup

# more /etc/rsync.sh

rsync -avP backup@192.168.1.1::www /usr/local/backup

--password-file=/etc/rsync.pass

FAQ

Q:如何通过ssh进行rsync,而且无须输入密码?

A:可以通过以下几个步骤

1. 通过ssh-keygen在server A上建立SSH keys,不要指定密码,你会在~/.ssh下看到identity和identity.pub文件

2. 在server B上的home目录建立子目录.ssh

3. 将A的identity.pub拷贝到server B上

4. 将identity.pub加到~[user b]/.ssh/authorized_keys

5. 于是server A上的A用户,可通过下面命令以用户B ssh到server B上了

e.g. ssh -l userB serverB

这样就使server A上的用户A就可以ssh以用户B的身份无需密码登陆到server B上了。

Q:如何通过在不危害安全的情况下通过防火墙使用rsync?

A:解答如下:

这通常有两种情况,一种是服务器在防火墙内,一种是服务器在防火墙外。无论哪种情况,通常还是使用ssh,这时最好新建一个备份用户,并且配置 sshd仅允许这个用户通过RSA认证方式进入。如果服务器在防火墙内,则最好限定客户端的IP地址,拒绝其它所有连接。如果客户机在防火墙内,则可以简单允许防火墙打开TCP端口22的ssh外发连接就ok了。

Q:我能将更改过或者删除的文件也备份上来吗?

A:当然可以:

你可以使用如:rsync -other -options -backupdir = ./backup-2000-2-13 ...这样的命令来实现。

这样如果源文件:/path/to/some/file.c改变了,那么旧的文件就会被移到./backup-2000-2-13/path/to/some/file.c,

这里这个目录需要自己手工建立起来

Q:我需要在防火墙上开放哪些端口以适应rsync?

A:视情况而定

rsync可以直接通过873端口的tcp连接传文件,也可以通过22端口的ssh来进行文件传递,但你也可以通过下列命令改变它的端口:

rsync --port 8730 otherhost::

或者

rsync -e 'ssh -p 2002' otherhost:

Q:我如何通过rsync只复制目录结构,忽略掉文件呢?

A:rsync -av --include '*/' --exclude '*' source-dir dest-dir

Q:为什么我总会出现"Read-only file system"的错误呢?

A:看看是否忘了设"read only = no"了

Q:为什么我会出现'@ERROR: invalid gid'的错误呢?

A:rsync使用时默认是用uid=nobody;gid=nobody来运行的,如果你的系统不存在nobody组的话,就会出现这样的错误,可以试试gid = nogroup或者其它

Q:绑定端口873失败是怎么回事?

A:如果你不是以root权限运行这一守护进程的话,因为1024端口以下是特权端口,会出现这样的错误。你可以用--port参数来改变。

Q:为什么我认证失败?

A:从你的命令行看来:

你用的是:

>; bash$ rsync -a 144.16.251.213::test test

>; Password:

>; @ERROR: auth failed on module test

>;

>; I dont understand this. Can somebody explain as to how to acomplish this.

>; All suggestions are welcome.

应该是没有以你的用户名登陆导致的问题,试试rsync -a max@144.16.251.213::test test

(0)

相关推荐

  • FTP 网站数据自动备份的实现方法

    第一步 新建FTP备份任务 下载并运行《绿环FTP数据备份》点击“FTP备份”按钮,选择“新建FTP备份任务”,会弹出参数设置菜单,而后设置网站服务器的FTP用户名和密码。如果是虚拟主机用户,就需要填 ...

  • 网站数据库怎么备份

    这里主要介绍使用多备份dbfen进行网站数据库快速备份的方法 操作方法 01 登录到多备份的控制面板,,点击"go"开始备份 02 这次主要介绍的是数据库备份,所以理所当然选择右边 ...

  • 安全狗云备份怎么用?网站文件及数据库备份还原教程

    云备份客户端主要用于当前服务器备份上传及备份还原。云备份客户端提供单台服务器备份上传、当前服务器上传的备份文件还原及备份文件管理、当前服务器与其他服务器间备份文件共享等功能,同时,允许用户将之前通过云 ...

  • CentOS6中rsync服务器的安装与配置

    一、rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。 Rsy ...

  • windows7系统备份使用的方法

    细心的您一定发现,在 Windows 7 系统中,已经找不到您曾经熟悉的 NTBackup 工具软件了。难道不装软件就无法在 Windows 7 下备份系统和数据了?当然不是,为了适应新的系统特性,同 ...

  • 网站被挂木马怎么办

    一般都是网站程序存在漏洞或者服务器存在漏洞而被攻击了 网站挂马是每个网站最头痛的问题,解决办法:1.在程序中很容易找到挂马的代码,直接删除,或则将你没有传服务器的源程序覆盖一次但反反复复被挂就得深入解 ...

  • pe里面怎么备份系统

    u启动除了能一键安装系统外,还有系统备份功能.那么,u启动pe里面怎么备份系统呢?下面我们详细介绍如何使用ghost备份系统,ghost备份系统相比系统自带的工具操作更简单,并且可以有选择的备份自己所 ...

  • 如何使用VMware VDP 6.1备份、复制和恢复虚拟机

    VSphere Data Protection 6.1利用镜像级别备份.集成 vStorage API和可变长度去重复化技术来保护vSphere数据. VMware vSphere Data Prot ...

  • Mysql数据库备份的几种方法

    数据备份是一个网站能够正常运营的保障,数据备份包括网站源码备份和数据库备份,如果你使用的是ACCESS数据库,那么直接使用FTP下载数据库文件就可以了,但如果你使用了PHP+MYSQL进行网站建设,数 ...