crontab +rsycnc 单进程低延迟文件同步

1.业务需求:网站上传的文件需要跨国家的服务器之间保持同步。
2.实现方法
1) .inotify+rsync 。inotify监听文件变化。然后调用rsync同步变化的目录。优点:文件变化时同步,减少文件同步次数,因为每次同步需要对比双方服务器文件列表,故该方法可以降低带宽占用。缺点:在双方服务器频繁上传的场景下。同一个目录下多个文件上传,会导致重复同步调用较多,极大降低了效率。当然可以通过建立同步目录队列。过滤重复的同步目录解决这个缺点
2) .crontab+rsync 。定时同步。优点:实现简单,几行代码即可实现;适合文件变化较多的场景。缺点:不管文件是否变化一直同步。会浪费一些网络带宽。需要避免并发。并发时会重复同步文件。

3.业务实现
1)rsync.sh 同步脚本。该脚本实现了每10秒检查一次是否有同步进程。没有的话启动同步进程,否则等待正在进行的同步进程。

#!/bin/bash
#rsync all
#每10秒检查一次,如果没有同步进程,启动同步
idx=1
while [ $idx -le 6 ];do
echo "idx=$idx"
date
#判断是否有正在同步的进程。
pid=ps -ef |grep rsync|grep rsyncd.pw|grep imgrsync|awk ‘{print $2}‘

if [ "$pid" ];then
    echo "rsync is running,pid:$pid"
    sleep 10s
    idx=$((idx+1))
else
    rsync -avzrt --delete  --exclude-from=/opt/rsync/exclude-list.txt --password-file=/etc/rsyncd.pw /path-to-rsync/ rsync://[email protected]{host}:{port}/images
    exit 1
fi

done

2)crontab  crontab 保证每1分钟启动一次rsync.sh

    `*/1 * * * * /opt/rsync/rsync.sh>/var/log/rsync/rsync-all.log`

原文地址:http://blog.51cto.com/lhjszz/2071656

时间: 2024-08-02 12:34:48

crontab +rsycnc 单进程低延迟文件同步的相关文章

CentOS7通过rsync+crontab实现两台服务器文件同步

centos7系统中已经默认安装rsync 1:主服务器配置 (1)修改rsyncd.conf 配置文件 [[email protected] app]# vi /etc/rsyncd.conf motd file = /etc/rsyncd.motdlog file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidlock file = /var/run/rsyncd.lockport = 873address = 192.168.0.24

linux 文件同步 rsync+crontab

Linux文件同步:主要使用rsync与crontab结合的方式同步 主机IP:172.22.3.181 备机IP:172.22.3.182   配置操作步骤: 一.安装rsync 二.配置rsyncd.conf 与密码文件(两个步骤1和2) 三.备份脚本 一.安装rsync 备机 1.服务器是否安装rsync Shell代码   rpm -qa|grep –i rsync 若有显示,说明已安装,则跳过2  2.安装rsync软件 有两种安装方式: a.利用 yum 安装 Shell代码   1

Linux命令之文件同步、定时备份 -rsync,cron,crontab

一.rsync介绍(可忽略) Rsync(remote synchronize)是一个远程文件同步工具; Rsync使用"Rsync算法"来同步文件,该算法只传送两个文件的不同部分,因此速度相当快; Rsync是替代rcp的一个工具,目前由rsync.samba.org维护,因而rsync.conf文件的格式类似于samba的主配置文件; Rsync可通过rsh或ssh使用,也能以daemon模式运行,以daemon方式运行时,Rsync Server会打开一个873端口等待客户端连接

低延迟系统的Java实践

在很久很久以前,如果有人让我用Java语言开发一个低延迟系统,我肯定会用迷茫的眼神望着他,然后说"are you kidding me?".然而随着Java语言的日臻完善以及JVM性能的极速提升,使得用Java语言开发低延迟(不要和实时系统搞混)系统越来越成为可能,其中就包括最典型的交易(支付)系统.当然作为系统架构师,他们会尝试使用一些成熟分布式架构方案(通常是整合一些商业或开源项目),通过利用冗余计算资源以及异步通信方式提高应用程序的吞吐量和响应率,使其到达低延迟系统的标准,这在社

线上服务器应用--文件同步方案Rsync+sersync

前言: 需求:3台服务器,其中1主2备,实现主服务器实时推送文件至2台备份服务器 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录. 二.Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1.Rsyn

Sersync实现触发式文件同步

目录 1:序言 1 2:inotify 1 2.1:inotify简介 1 2.2:inotify可以监视的文件系统事件 1 3:rsync 1 3.1:rsync简介 1 3.2:Rsync特性 2 4:sersync 2 4-1:sersync简介 2 4-2:sersync优点 2 5:两种架构 2 5.1:inotify-tools + rsync 2 5.2:sersync + rsync 2 6:为什么要用rsync+sersync 2 7:具体操作: 3 7.1:实验环境 3 7.

简介一:低延迟交易架构技术研究

作者:黄寅飞.叶婧.徐广斌 1 低延迟综述 近几年来,全球各大交易所纷纷对技术系统进行投资改造,其中竞争最激烈的指标就是订单处理延迟和行情发布延迟.低延迟的需求很大程度上来自于证券市场上高频交易比例的迅猛增长.在证券产品可以在多家交易所进行交易的情况下,能够更快处理订单.更快反馈行情的交易所,显然更能吸引采用高频交易策略的机构投资者. 以下对全球各大交易所技术系统的低延迟指标进行综述: NASDAQ 纳斯达克OMX集团下属NASDAQ.费城.哥本哈根.赫尔辛基.冰岛.斯德哥尔摩.里加.塔林.维尔

面向云数据库,超低延迟文件系统PolarFS诞生了

摘要: 如同Oracle存在与之匹配的OCFS2,POLARDB作为存储与计算分离结构的一款数据库,PolarFS承担着发挥POLARDB特性至关重要的角色.PolarFS是一款具有超低延迟和高可用能力的分布式文件系统,其采用了轻量的用户空间网络和I/O栈构建,而弃用了对应的内核栈,目的是充分发挥RDMA和NVMe SSD等新兴硬件的潜力,极大地降低分布式非易失数据访问的端到端延迟. 随着国内首款Cloud Native自研数据库POLARDB精彩亮相ICDE 2018的同时,作为其核心支撑和使

如何设计一款跨平台低延迟的RTMP/RTSP直播播放器

开发背景 2015年,当我们试图在市面上找一款专供直播播放使用的低延迟播放器,来配合测试我们的RTMP推送模块使用时,居然发现没有一款好用的,市面上的,如VLC或Vitamio,说白了都是基于FFMPEG,在点播这块支持格式很多,也非常优异,但是直播这块,特别是RTMP,延迟要几秒钟,对如纯音频.纯视频播放,快速启播.网络异常状态处理.集成复杂度等各方面,支持非常差,而且因为功能强大,bug很多,除了行业内资深的开发者能驾驭,好多开发者甚至连编译整体环境,都要耗费很大的精力. 我们的直播播放器,