rsync安装篇
rsync是一款配置简单,功能全面的安全备份软件,具体的功能介绍可以参考手册。这里和大家分享一下rsync在CentOS下的部署。
1、安装rsync,并通过xinetd管理rsync
yum install rsync xinetd -y
2、修改/etc/xinetd.d/rsync文件,使其随xinetd启动而启动
vim /etc/xinetd.d/rsync
......将disable = yes 修改为 disable = no
disable = no
3、修改防火墙策略,允许873端口(tcp/udp)
#或者使用iptables命令
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
iptables -I INPUT -p udp -m state --state NEW -m udp --dport 873 -j ACCEPT
service iptables save
service iptables restart
4、建立rsync的配置文件
# vim /etc/rsyncd.conf 没有这个文件的话直接建立
......
secrets file = /etc/rsyncd.secrets 指定允许的用户和用户密码
motd file = /etc/rsyncd.motd 客户端连接上来时显示的欢迎信息的存放文件www.linuxidc.com
read only = no 是否只读
list = yes 是否允许客户端能够列出备份服务器上的文件
uid = root 指定uid
gid = wheel 指定gid
hosts allow = 192.168.1.100 192.168.1.200 允许使用备份服务器的客户端列表,根据实际环境列出
max connections = 100 同时的最大连接数
log file = /var/log/rsyncd.log 日志文件位置
pid file = /var/run/rsyncd.pid 进程的pid存放文件位置
lock file = /var/run/rsync.lock lock文件位置
####上面的配置是全局的,下面的段会继承上面设定的属性####
[mongobak] 建立一个备份名,客户端通过该名称指定具体的备份位置
path = /mongobak 指定备份文件存放的目录位置
auth users = test 允许那些用户,这里的用户test的信息存放在/etc/rsyncd.secrets
这样一个简单实用的配置就好了。
5、建立/etc/rsyncd.secrets文件
#vim /etc/rsyncd.secrets
......
test:rsync-7-elevEn 格式 用户名:密码 该用户不要求是系统用户
rsyncd.secrets文件的权限要设定为600
.....
#chmod 600 /etc/rsyncd.secrets
6、建立连接到服务器的客户端看到的欢迎信息文件/etc/rsyncd.motd
#vim /etc/rsyncd.motd
......
Welcome to Window Server 2003 IIS
......
#这里的信息根据实际填写
7、启动rsync
#启动
/etc/init.d/xinetd restart
#查看873端口是否起来
netstat -an | grep 873
如果rsync启动成功的话可以看到873端口已经在监听了。
8.建立ssh无密码登陆
rsync可以对两个目录进行镜像(mirror),算是一个非常快速的备份工具!简单的命令语法为:
rsync -av 源目录 目标目录
rsync -av /home /backupdata/
还需要备份到另外一台机器:
scp 即可
ssh端口更改后rsync的用法
rsync有两种常用的认证方式,一种为rsync-daemon方式,另外一种则是ssh。
在一些场合,使用rsync-daemon方式会比较缺乏灵活性,ssh方式则成为首选。但是今天实际操作的时候发现当远端服务器的ssh默认端口被修改后,rsync时找不到一个合适的方法来输入对方ssh服务端口号。
在查看官方文档后,找到一种方法,即使用-e参数。
-e参数的作用是可以使用户*选择欲使用的shell程序来连接远端服务器,当然也可以设置成使用默认的ssh来连接,但是这样我们就可以加入ssh的参数了。
具体语句写法如下:
- rsync -e 'ssh -p 1234' username@hostname:SourceFile DestFile