一、系统环境
本文服务器系统环境是: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.57.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-2013 +
+++++++++++++++++++++++++++++++++
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 [email protected]::test /databackup/
无密码
rsync -vzrtopg –delete –progress [email protected]::test /databackup/ –password-file=/etc/rsyncd.secrets
3、计划任务crontab
vi /root/rsyncBAK
内容如下:
rsync -vzrtopg –delete –progress /home/share/ [email protected]::test/ –password-file=/etc/rsyncd.secrets
以下是定义每分钟自动执行备份指令,实际中请自行合理安排备份策略。
crontab -e
*/1 * * * * /root/rsyncBAK >>/tmp/rsyncBAK.log
chmod +x /root/rsyncBAK