CentOS Rsync实现文件备份同步配置与使用

系统教程 guchen 7℃ 0评论

rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。

它的特性如下:
1、可以镜像保存整个目录树和文件系统
2、可以很容易做到保持原来文件的权限、时间、软硬链接等等
3、无须特殊权限即可安装
4、优化的流程,文件传输效率高
5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接
6、支持匿名传输

一、系统环境

本文服务器系统环境是:CentOS5.5,备份机系统环境是:Debian 2.6.32-5-amd64。

二、rsync的下载与安装
目前大部分Unix/Linux默认即安装了rsync。

三、服务端rsync的配置
rsync服务器的配置文件,默认是没有的,需要手工创建。
创建三个文件,具体如下。
/etc/rsyncd.conf
#rsync服务器的主配置文件
/etc/rsyncd.secrets
#rysnc用户密码文件
/etc/rsyncd.motd
#定义rysnc服务器信息,此步骤对备份无任何影响,可以忽略。

1、主配置文件rsyncd.conf
rsyncd.conf是rsync服务器主配置文件,比如我们要备份服务器上的/home/share。
vi /etc/rsyncd.conf
#全局配置
strictmodes=yes
#是否检查口令文件的权限
port=873
#TCP 873
uid=nobody
#允许组
gid=nobody
#允许用户
max connections=5
#最大连接数,0是无限制
motd file = /etc/rsyncd.motd
log file = /var/log/rsync.log
transfer logging = yes
log format = %t %a %m %f %b
timeout=600
hostsallow=*
#这里*代表任意,可以单独填写备份端IP地址。
#hostsdeny=10.20.1.1

#模块配置
[test]
#定义模块名称
#ignore errors
#忽略一些无关的IO错误
list=yes
path=/home/share
read only=yes
write only=no
auth users=root
#认证的用户名
secrets file=/etc/rsyncd.secrets
#指定认证口令

2、用户密码文件rsyncd.secrets
echo “username:password” >> /etc/rsyncd.secrets
格式:用户名:密码

chmod 600 /etc/rsyncd.secrets
把rsyncd.secrets的权限设为600,否则不能正常进行身份认证。

3、服务器信息rsyncd.motd
定义rysnc服务器信息,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的登陆信息。
vi /etc/rsyncd.motd
+++++++++++++++++++++++++++++++++
+ njcto.com rsync 1988-2017 +
+++++++++++++++++++++++++++++++++

4、配置rsync启动文件
编辑/etc/xinetd.d/rsync文件,将其中的disable=yes改为disable=no,并重启xinetd服务,如下:
vi /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}

service xinetd restart

5、配置rsync开机服务自启动
启动服务
/usr/bin/rsync –daemon –config=/etc/rsyncd.conf

加入开机启动
echo “/usr/bin/rsync –daemon” >> /etc/rc.local

6、检查rsync是否启动
lsof -i :873
结果如下:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
rsync 3426 root 4u IPv6 10570 TCP *:rsync (LISTEN)
xinetd 4288 root 5u IPv4 13915 TCP *:rsync (LISTEN)

ps -ef | grep rsync
kill -9 27284
/usr/bin/rsync –daemon –config=/etc/rsyncd.conf

四、备份端rsync的配置
1、设定密码文件
echo “password” >> /etc/rsyncd.secrets
格式:密码

chmod 600 /etc/rsyncd.secrets
把rsyncd.secrets的权限设为600,否则不能正常进行身份认证。

2、测试rsync执行指令
备份端向服务器端发起同步指令(拉)
需密码
格式:
rsync -vzrtopg –delete –progress 认证用户名@服务器IP::模块名称 /备份路径/

举例:
rsync -vzrtopg –delete –progress root@10.20.1.111::test /databackup/

无密码
rsync -vzrtopg –delete –progress root@10.20.1.111::test /databackup/ –password-file=/etc/rsyncd.secrets

3、计划任务crontab
vi /root/rsyncBAK
内容如下:
rsync -vzrtopg –delete –progress /home/share/ root@10.20.1.112::test/ –password-file=/etc/rsyncd.secrets

以下是定义每分钟自动执行备份指令,实际中请自行合理安排备份策略。
crontab -e

*/1 * * * * /root/rsyncBAK >>/tmp/rsyncBAK.log
chmod +x /root/rsyncBAK

转载请注明:顾辰的技术博客 » CentOS Rsync实现文件备份同步配置与使用

喜欢 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址