查看系统是否安装rsync软件包:rpm -qa | grep rsync
一般系统都默认安装了该软件包,如果没有安装可以从系统盘或者网上的yum源直接安装:yum install -y rsync
2、建立配置文件和认证文件
vi /etc/rsyncd.conf
**注意配置真正服务的配置文件里不要有注释,我这里有是方便大家了解***
建立认证文件,并写入认证用户名和密码
echo "rsync:123456" > /etc/user.pass
修改认证文件权限为600,必须是600的权限,否则认证时报错
chmod 600 /etc/user.pass
3、启动rsync服务和自动运行
启动rsync
rsync --daemon
echo "/usr/bin/rsync --daemon" >> /etc/rc.local
检查rsync服务是否启动成功,查看服务器是否监听tcp873端口
netstat -ntpl | grep 873
二、同步镜像的服务器(192.168.0.3/24)
1、安装和服务器端一样
2、建立备份目录
mkdir /var/backup
3、开始做镜像备份
rsync -vzrtopg --delete --progress --password-file=/etc/user.pass rsync@192.168.0.2::www /var/backup/www
上面命令使用了--password-file这个参数,则你本机必须有验证文件,单行保存认证用户的密码即可
echo "123456" > /etc/user.pass
这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。后面的rsync@ip中,rsync是指定密码文件中的用户名,之后的::www这一www是模块名,也就是在/etc/rsyncd.conf中自定义的名称。最后的/var/backup/www是备份到本地的目录名。
在这里面,还可以用-e ssh的参数建立起加密的连接。可以用--password-file = /password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了。注意这里密码文件是放在本地的,里的内容是单行的密码。