rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:
 1、可以镜像保存整个目录树和文件系统。
 2、可以很容易做到保持原来文件的权限、时间、软硬链接等等。
 3、无须特殊权限即可安装。
 4、优化的流程,文件传输效率高。
 5、可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
 6、支持匿名传输。

二、版本选择
目前CentOS5中自带的rsync版本都是2.6.x的版本,该版本存在的问题主要是性能方面的,比如,同步大量小文件时容易出现内存溢出或同步中断等现象,这主要与其2.6版本采用先列文件列表,再进行同步的处理机制有关,在处理大文件同步时也市场发生同步文件不完整的现象,所以我们在使用rsync之前,应该卸载老版本,安装最新的稳定版本,对各种已知bug修复还是挺有效的,比如3.0以后的版本处理机制上就改成了一边列表的同时进行文件同步,大大改善了性能和降低了出错几率。目前最新的版本是3.0.7。

三、升级步骤(其实centos默认的2.6* 也能用, 不升级的直接跳过 步骤3和4):
 1。卸载当前rsync的安装包版本:
  a。首先查看rsync命令的所在位置:which rsync 。 witch命令会从$PATH环境变量中,按照先后顺序,找出最先搜索到的rsync命令所在路径,无论你的系统里有多少个rsync命令,这个which的结果才是你在命令行中使用rsync命令式时用到的那个一。例如:/usr/bin/rsync
  b。然后查看该命令属于哪个安装包:rpm -qf /usr/bin/rsync 。 例如:rsync-2.6.8-3.1
  c。卸载:rpm -e rsync-2.6.8-3.1

四、Yum 安装yum -y install rsync-3.*

五、具体配置

主配置文件 /etc/rsyncd.conf (一般这个文件没有自己手动创建)

uid = root #运行RSYNC守护进程的用户

gid = root #运行RSYNC守护进程的组

max connections = 10 #最大连接数不限

use chroot = no #不使用chroot

log file = /var/log/rsyncd.log #日志记录文件

log format = %t %a %m %f %b #日志记录格式

pid file = /var/run/rsyncd.pid #pid文件的存放位置

lock file = /var/run/rsyncd.lock #锁文件的存放位置

timeout = 300

port = 873 #默认端口873

#这里是认证的模块名,在client端需要指定

[web]

path = /data/www/ppho.cn #需要做镜像的目录,由于我们采用推的方式,所以这个目录代表源主机推过来的文件放在哪里

list = yes  #允许列文件

comment = rsync software #这个模块的注释信息

ignore errors = yes # 可以忽略一些无关的IO错误

read only = no  # 关闭只读

hosts allow = 192.168.1.37 # 允许哪些主机访问 多个主机空格隔开

hosts deny = *  # 禁止哪些主机访问

auth users = test  # 验证用户名

secrets file = /etc/rsync.pass  # 密码存放文件  timeout = 300

密码验证文件

/etc/rsync.pass 例如:用户:密码  一行一个用户

权限:因为rsync.pass存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pass设置为root拥有, 且权限为600

#cd /etc
#chown root.root rsync.pass 
#chmod 600 rsync.pass

修改/etc/xinetd.d/rsync配置文件

将disable = yes改成disable = no

service rsync
{
        disable = no #开启服务
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

六、启动rsync server

#/usr/bin/rsync --daemon --config=/etc/rsyncd.conf

关闭防火墙

rsync服务器和防火墙

  Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。

  #iptables -A INPUT -p tcp -m state --state NEW  -m tcp --dport 873 -j ACCEPT
  #iptables -L  查看一下防火墙是不是打开了 873端口

如果你不太懂防火墙的配置,可以先service iptables stop 将防火墙关掉。当然在生产环境这是很危险的,做实验才可以这么做哟!

客户端服务器配置

新建 /etc/rsync.pass 密码文件(里面只放密码) 要对应服务器端的 test账号的密码

同步语句

rsync -atuzrRp --progress --password-file=/etc/rsync.pass test.php test@192.168.4.105::web/

rsync -atuzrRp(参数类似更新什么的) --progress(显示文件信息) --password-file=/etc/rsync.pass(对应的密码) test.php(推送的目录或文件) test@192.168.4.105::web/ (账号@主服务器::模块)

也可以写到shell脚本里面

rsync 同步推送详细配置相关推荐

  1. IOS安卓友盟消息推送详细配置以及证书更新

    目录 一.友盟消息推动大致流程 二.IOS生成本地应用证书 三.IOS开发者官网申请应用证书 三.友盟官网配置开发者证书 四.安卓应用配置友盟送 五.程序调用更新对应的授权信息 一.友盟消息推动大致流 ...

  2. 微信公众号(二)每日推送详细教程(AI回复助手)

    微信公众号(二)每日推送详细教程(回复助手) 1.准备阶段 1.1 基础性配置 1.2 账号准备 2. 配置阶段 2.1 配置application.yml文件 2.2 注解 3. 部署 效果图如下 ...

  3. Uni-app框架UniPush安卓消息推送模拟配置

    uni-push消息推送配置和实战 Uni-app消息推送 一.介绍 二.整体架构 三.消息类型 四.推送模拟配置 第一步:开通UniPush推送服务 第二步:UniPush配置 第三步:HBuild ...

  4. 【SEO】利用网页监控来做百度同步推送

    百度主送推送(实时)是在百度站长工具改版升级之后推出的一款帮助站长快速向百度提交链接的工具,有助于让百度快速发现新链接,促进网站收录.它是所有提交方式里面最为快速的一种,建议站长将站点当天新产出链接立 ...

  5. 实现微信支付(Native支付),使用WebSocket进行推送 ——4.配置SpringBoot支持WebSocket,推送结果

    实现微信支付(Native支付),使用WebSocket进行推送 --4.配置SpringBoot支持WebSocket,推送结果 依赖 <dependency><groupId&g ...

  6. 百度URL自动推送收录插件【土拨鼠网站日记管理(分析推送二合一)】推送功能配置教程

    推送功能配置教程(推送功能和网站日记分析功能可以单独分开始用,需要哪个功能就单独设置这个功能即可): 第一次使用推送功能需要在[工具设置]先生成缓存数据库和配置推送计划 初次设置: 自动爬取整站URL ...

  7. git推送指令配置_git 常用命令

    git 简介 在实际开发中,会使用git作为版本控制工具来完成团队协作.因此,对基本的git操作指令进行总结是十分有必要的,本文对一些术语或者理论基础,不重新码字,可以参考廖雪峰老师的博文,本文只对命 ...

  8. [windows Docker 避坑指南]Docker 开启远程推送 详细教程

    上遍文章实现了IDEA 本地Docer调试,在实际工作中不可能在服务器上安装一下IDEA然后拉更新后再推Docker,所以我们要通过远程的方式实现Docker推送. 此坑我已踩了近一天的时间,把我的经 ...

  9. UniPush推送消息配置IOS证书

    哈喽哈喽,这次是要配置IOS证书的整体流程. 当我们配置完.我们就可以通过Unipush 给我们的应用推送啦. 首先我们先知道在哪里配置Dcloud后台中,UniPush栏下.应用配置 就可以配置IO ...

最新文章

  1. mysql 函数rep_Mysql之各种各样的函数啦
  2. java 计时器归零_终止Java中的计时器
  3. 802.1x认证EAP包结构
  4. 【★】假如人类使用16进制
  5. php中isdefin,在PHP中定義全局常量數組的最“優雅”方法是什么
  6. 有效使用Eclipse的热门提示
  7. 解决: java.net.ConnectException: Connection refused: connect
  8. core 中使用 swagger
  9. web前端技术亮点_Web前端开发职业技术要求规划
  10. 音乐编辑 java_求助 关于java编辑音乐
  11. ssh传输越多越慢_Linux下分析网站访问慢原因
  12. ruby笔记 基于对象的类(object specific class)
  13. Flume NG 配置详解(转)
  14. 基于java的员工绩效考核管理系统
  15. mysql当前时间的本月_mysql 获得当前月1号的日期 和 0点日期方法
  16. ES6 模块化【暴露、引入、引入并暴露】
  17. Java网络编程(BIO和NIO)
  18. java jnlp 运行_JNLP文件如何能成功安装运行?
  19. 超级干货 :一文总览数据科学全景:定律、算法、问题类型...
  20. C++: 猴子选大王

热门文章

  1. 《小公主养成记》——C++第一阶段项目
  2. 我的世界java凋零_我的世界JAVA版发布1.14快照 加入全新植物凋零玫瑰
  3. python对ip地址归属地查询笔记
  4. git提交失败 hooks + Eslint + Stylelint + Prettier+husky、lint-staged、commitlint
  5. 程序员与产品经理的正确相处之道
  6. 使用Vue 简化 用户查询/添加功能
  7. C++ · 手把手教你写一个扫雷小游戏
  8. JS 中的Math方法向上取整、向下取整、保留整数、绝对值、取最大值、最小值等
  9. Spring Boot 利用WebUploader进行文件上传
  10. 创业谨记15点--来自36kr