Linux--rsync实现文件同步

rsync是类unix系统下的数据镜像备份工工具.

确认主机是否安装rsync:shell>rpm -qa|grep rsync

如果未安装,直接执行:shell>yum -y install rsync


服务端:xx.xxx.xx.14  同步目录:/file/

客户端:xx.xxx.xx.229  同步目录:/file/



1、服务端配置

shell>vi /etc/rsyncd.conf   #创建配置文件rsyncd.conf

配置文件内容:

  
  
uid=nobody // 运行rsync守护进程的用户
gid=nobody // 运行rsync守护进程的组
use chroot = no // 不使用chroot
max connections = 10 // 最大连接数,0为不限制
pid file = /var/run/rsyncde.pid // pid文件存放位置
lock file = /var/run/rsync. lock // 锁文件存放位置
log file = /var/log/rsyncd.log // 日志记录文件的存放位置
// 通过该选项可以覆盖客户指定的IP超时时间
// 通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端
// 超时单位为秒钟,0表示没有超时定义,这也是默认值
// 对于匿名rsync服务器来说,一个理想的数字是600.
Timeout = 300
Log format = %t %a %m %f %b
[backup] // 这里是认证的模块名,在client端需要指定
path=/file/ // 需要做镜像的目录
ignore errors // 可以忽略一些无关的IO错误
read only = yes // 该选项设定是否允许客户上传文件
list = no // 不允许列文件
auth users = rsync // 认证的用户名
secrets file = /etc/rsyncd.secrets // 秘密文件(下面定义)
hosts allow = xx .xxx.xx.229 // 允许主机或网段
hosts deny = 0.0. 0.0/ 0 // 禁止主机

shell>vi etc/rsyncd.secrets #创建密码文件

内容:

  
  
rsync:rsync // 这里用户名和密码都定义为rsync

shell>chmod 0600 /etc/rsyncd.secrets  #更改密码文件权限

shell>rsync --daemon;  #启动服务,默认在873端口监听(可以自己修改)


备注:killall -9 rsync  //杀掉相关服务

           rm -rf /var/run/rsyncd.pid  //每次重启都需要删除pid

            /usr/bin/rsync --daemon //启动rsync服务



2、客户端

客户端就不用启动rsync服务了

shell>vi /etc/rsyncd.secrets #这里也是创建密码文件,文件名字自定义,但内容只需要填目标服务授权密码

shell>chmod 0600 /etc/rsyncd.secrets #更改文件权限

内容:

  
  
rsync // 这里是服务端rsync服务授权密码

测试:(在服务端/home/source/ 先创建test文件 )

shell>rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets root@xx.xxx.xx.14::backup /file

v:传输时的进度等信息, z:表示压缩, r:是递归, t:保持文件原有时间, o:保持文件原有属主, P:传输进度, g:保持文件原有用户组
--progress 指显示

--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--password-file=/etc/rsyncd.secrets 认证密码

rsync 认证用户

backup 认证模块

如果客户端/home/receive/下产生了test文件代表同步成功

下一步写一个脚本文件实现真正的同步......

启动脚本:rsync.sh 

shell>vi /data/backup/rsync.sh

#!/bin/sh
rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@xx.xxx.xx.14::backup /file


shell>crontab -e
0 */6 * * * /data/backup/rsync.sh //每6个小时执行一次同步

shell>crontab -l #可以查看任务设置情况

shell>service crond status #查看crond是否已启动,若启动了能看到PID

shell>service crond start #启动crond服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值