Rsync 备份本地及远端目录


Rsync 是本地及远端目录的镜像备份工具, 在传输档案时, 会比对要备份的目录及储存备份的目录, 只会复制两者有差异的档案。以下会介绍用 Rsync 在本机及远端备份的方法:

首先要安装 Rsync, 在 RHEL / CentOS 安装执行以下指令:

# yum install rsync

本机备份:
在本机用 rsync 备份与 cp 差不多:

rsync -avP –delete /home/phpini /backup/

会将 /home/phpini 备份到 /backup/phpini, 但要留意斜线, 如果改成 /home/phpini/, 备份位置会有所不同:

rsync -avP –delete /home/phpini/ /backup/

上面指令会将 /home/phpini/ 目录下所有档案, 备份到 /backup/ 下面。

远端备份:
要做远端备份, 需要在储存备份的服务器上设定及开启 Rsync 服务, 首先设定 /etc/rsync.conf 档案, 加入以下内容:

uid = root
gid = wheel
use chroot = true
timeout = 600000
max connections = 400
log file = /var/log/rsyncd.log

[server01]
path = /backup/server01
comment = server01
read only = false
hosts allow = 192.168.1.100

上面设定档指定只允许 192.168.1.100 连线, 并设定储存目录为 /backup/server01, 然后在 192.168.1.100, 然后设定自动开始 rsync, 建立 /etc/xinetd.d/rsync 档案, 并加入以下内容:

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no # change
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}

然后启动 xinetd:

# /etc/rc.d/init.d/xinetd start
# chkconfig xinetd on

要备份的服务器上面可以输入以下指令进行镜像备份:

/usr/bin/rsync -avzrpog –delete –force /home/phpini backup_ip::server01 –links

上面指令会将 /home/phpini 备份到 backup_ip 服务器。

Tags:

Leave a Reply