3、基于Rsync进程备份同步
rsync不仅仅用作远程同步的发起端(客户端),也可以作为守护进程运行,为其他客户机提供备份源,配置rsync备份源需要建立配置文件 rsync.conf,创建备份账户,然后将rsync程序以”--daemon”选项运行。
1>.创建主配置文件
vi /etc/rsyncd.conf
uid=nobody #指定当该模块传输文件时守护进程用户,默认是nobody
gid=nobody #指定当该模块传输文件时守护进程组,默认是nobody
port=873 #后台程序使用端口,默认是873
use chroot=yes #
max connections=4 #最大连接数
log file=/var/log/rsyncd.log #存放日志位置
pid file=/var/run/rsyncd.pid #存放进程位置
hosts allow=192.168.0.200,192.168.0.201 #允许主机,或者是网段
hosts deny=0.0.0.0/0 #禁止主机,没有这行,默认没有
[web]
path=/var/www/html
comment=rsync to web
read only=yes #只允许下载,no是允许下载和上传,上传建议使用SSH
dont compress=*.gz *.bz2 *.tgz *.zip *.tar *.z
auth users=rsync #认证的用户名,没有这两行表示是匿名,此用户与系统用户无关
secrets file=/etc/rsync.pass #密码和用户名对比表,密码文件自己创建
注意:该文件的权限一定要是600,否则客户端将不能连接服务器。
2>.创建认证用户、密码和启动
vi /etc/rsync.pass
rsync:123.com
rsync --daemon #启动rsync服务
killall -9 rsync #关闭rsync服务
echo “rsync --daemon” >> /etc/rc.local #设置开机启动
iptables -A INPUT -p tcp --dport 873 -j ACCEPT #设置防火墙
3>.将rsync服务交给xinetd服务管理,只有rsync请求,rsync才启用,其他时间关闭状态
1234567891011 vi /etc/xinetd.d/rsync
service rsync
{
disable = yes #修改为yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
4>.客户机下行同步
rsync -avz rysnc@192.168.0.200::/var/www/html/ /web #下行格式是这样,再加一个冒号
实现无交互验证,我们可以使用RSYNC_PASSWORD变量来存放密码,执行rsync时,会自动获取密码
echo "export RSYNC_PASSWORD="123.com"" >> /etc/profile
rsync -avz --delete rysnc://rsync@192.168.0.200/var/www/html/ /web #这个命令格式和上面是一样效果
写一个脚本,创建任务计划,同上,略...