用rsync进行文件同步

实施目的:

实现将文件从10.0.0.40/wb/的文件同步到10.0.0.194/wb/下

实施流程:

1.在两台机器上安装rsync


yum install rsync

2.配置服务端(被同步服务器),10.0.0.194


vi /etc/rsyncd.conf

添加以下内容:

uid = tomcat #设置执行rsync的本地用户

gid = tomcat  #设置执行rsync的本地组

use chroot = yes #是否chroot

max connections = 4  #最大同时连接数

pid file = /var/run/rsyncd.pid  #指定rsync服务进程的pid file

lock file = /var/run/rsync.lock  #指定rsync服务端锁定文件log file = /var/log/rsyncd.log     #指定rsync的log输出路径

log file = /var/log/rsyncd.log  #设置执行rsync的本地组

[logfile]  #模块设定,可设置多个模块

path = /wb/log/  #同步文件的真实路径

ignore errors

read only = false   #是否只读

list = false

hosts allow =10.0.0.40/255.255.255.240 #允许同步的ip/网段

hosts deny = 0.0.0.0/32

auth users = backznfs #身份验证用户。这不是系统用户,而是rsync服务自定的

secrets file = /etc/rsyncd.pwd  #logfile模块的密码文件

[testabc]

path = /wb/abc/

ignore errors

read only = false

list = false

hosts allow =10.0.0.40/255.255.255.240

hosts deny = 0.0.0.0/32

auth users = backznfs

secrets file = /etc/rsyncd.pwd

uid和gid指明了运行身份(本机上创建该用户,由于40上的文件目录权限都是tomcat所以本机创建tomcat用户),chroot表示连接后自动切换目录,read only=false是允许别的客户端向本机的服务器端上传。host allow和deny是限制连接地址。auth user是认证用户名,secrets file = /etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。

3.编写密码文件(服务端含用户名和密码)


vi /etc/rsyncd.pwd

backznfs:123456

4.启动服务端,服务端的工作完成


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

ps -ef|grep rsync   #查看进程

5.创建密码文件:


#vi /root/rsync.pwd 
123456

6.在客户端执行命令测试(下方列出了几项常见错误)


rsync -vrtL --progress  /wb/abc/*  [email protected]10.0.0.194::wwwfile --password-file=/root/rsync.pwd

7.编写定时运行脚本;


新建日志备份脚本文件

#vi rsync_log.sh

rsync -vrtL --progress

--exclude "www" /wb/log*  [email protected]::logfile --password-file=/root/rsync.pwd


注:--exclude "www" 表示除去/wb/log/www这个目录不同步,不除去可以不写;

-v参数表示显示输出结果,r表示保持属性,t表示保持时间,L表示软link视作普通文件。 
–delete 是指如果Server端删除了一文件,那客户端也相应把这一文件删除,保持真正的一致

./rsync_log.sh 可手动执行是否正确(注:如果无法自动补齐文件名,说明无可执行文件;如果是脚本调用的话并不需要执行权限。)

错误原因:服务端未开启服务;

错误原因:客户端密码文件需设置为600;(或700,但未测试700)

可能错误原因:1、两边密码是否匹配;

2、服务端密码文件中要带上用户名、客户端的不用;

3、服务端的密码文件是否设置为600;

错误原因:1、目录不存在;

2、调用的配置文件中的路径属性名称是否写错;

错误原因:

/etc/rsyncd.conf配置文件中有错误,例如uid = rsync写成了d = rsync.请仔细检查

 错误原因:权限不够,必须保证服务端目录的权限不低于客户端(发送方);

注:修改配置文件不需要重启服务.

#查看错误日志

tail -f /var/log/rsyncd.log

8.定时任务,调用脚本文件。

crontab -e (编辑文件,输入以下内容,自动定义规则)


1,20,40 * * * * /root/rsync_log.sh>/dev/null

crontab -l (查看定时任务)

注意事项:

1.密码文件两边都有,注意目录

2.两个服务器文件目录的权限要一致;起码保证服务端目录的权限不低于客户端(发送方);

时间: 2024-12-26 17:09:12

用rsync进行文件同步的相关文章

rsync+sersync2文件同步(基于centos6.5)

rsync+sersync2文件同步 环境:centos6.5 软件:rsync+sersync2 源服务器:192.168.10.109 同步服务器:192.168.10.107,192.168.10.108 前提工作: 关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing 修改 SELINUX=disabled 重启系统生效 iptables打开端口 vi /etc/sysconfig/iptables -A RH-Firewall-1-IN

【惊雷】Linux下Rsync的文件同步的配置过程

Rsync的文件同步实现 一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,简要的概括就是主机于主机之间的文件目录数据的一个同步. 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等

rsync+inotify文件同步 - 同步慢的问题

rsync+inotify文件同步 - 同步慢的问题 我们来看网上的教程,我加了注释.(网上所有的教程基本都一模一样,尽管写法不一样,致命点都是一样的) #!/bin/bash /usr/bin/inotifywait -mrq --format '%w%f'-e create,close_write,delete /backup |while read file #把发生更改的文件列表都接收到file 然后循环,但有什么鬼用呢?下面的命令都没有引用这个$file 下面做的是全量rsync do

利用Rsync进行文件同步

1 需求 先描述下需求,有时候后台经常要同步一些数据,然而又不想每次都全量同步.举个例子,有一个单点物理机,在上面部署了很多脚本和数据的目录,这些脚本又提供给外部来使用,这样的话,如果这台物理机器挂了,部署在上面的脚本都丢失了,这样导致外部调用都失败了,而且你不好恢复这些脚本,这些脚本都可能和目录结构有很强的关联性. 2 原始办法 每天定时打包脚本和数据目录,通过scp传到备份的机器上,来实现数据同步,这样有个缺点是,每次的数据同步都需要全量同步,如果数据文件目录很大的话,同步时间就会非常长,而

Centos7利用rsync实现文件同步

测试环境: CentOS 7.4 Rsync服务端:192.168.99.112 CentOS 7.4 Rsync客户端:192.168.99.136 第一种方式:rsync通过ssh方式同步 1.Rsync服务端和客户端都需要安装rsync [[email protected] ~]# yum -y install rsync 2.使用 前提:需知道远程服务器开启ssh端口和账号密码 A.推文件: [[email protected] tmp]# rsync -av /etc/passwd 

RSYNC实现文件同步

1.安装(客户端服务端都要安装) yum -y install rsync 2.安装xinetd yum -y install xinetd 3.修改xinetd配置文件 修改 /etc/xinetd.d/rsync  把 disable = yes  改为disable = no 4.创建rsync服务器配置文件/etc/rsyncd.conf vi /etc/rsyncd.conf uid = root gid = root port = 873 hosts allow = 192.168.

Centos6.5下的rsync远程文件同步服务搭建

以下为本人的安装过程 一.服务器端的安装 1.系统环境     服务端:centos6.5出厂环境(系统安装时为默认设置),IP:192.168.10.185     客户端:远程登录终端xshell5或securecrt(具体安装和使用方法,请自行查询),             IP:192.168.10.186 2.安装Rsync     通过终端(此处是xshell)登录系统192.168.10.185     rpm -qa|grep rsync*  //查看当前是否已安装此服务,若有

CentOS利用inotify+rsync实现文件同步

1.环境部署 inotify-master 10.10.6.208 inotify-slave 10.10.6.149 2.两台服务器都安装rsync yum install -y rsync 3.inotify-slave部署 新建rsync用户及模块目录并更改其用户组 useradd rsync -s /sbin/nologin #添加rsync用户mkdir /usr/local/backup #创建rsync daemon工作模式的模块目录chown rsync.rsync /usr/l

rsync + inotify 文件同步

rpm -e rsync-3.1.2-4.el7.x86_64 --nodeps rpm -ivh rsync-3.1.2-4.el7.x86_64.rpm 115 服务端,接收文件的地方 echo "web:123" > /usr/local/rsync/rsyncd.passwd vi /etc/rsyncd.conf # /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man p