flock防止重复rsync
我使用crontab同步一个文件夹时,发现一个问题,我在crontab中设置的1分钟运行一次.但当那个文件夹的内容改变时。1分钟不一定能同步完,但这时第二个rsync进行又起来了。
这个就产生一个问题,二个rsync一起处理相同的文件,这样会出问题。如下
1 * * * * /usr/bin/rsync -avlR /data/files 172.16.xxx.xxx:/data
本来想写个脚本来解决,但太麻烦。所以用了个linux下的锁。。呵呵,象下面这个.
1 * * * * flock -xn /var/run/rsync.lock -c "rsync -avlR /data/files 172.16.xxx.xxx:/data"
这样,使用flock的-x参数先建一个锁文件,然后-n指定,如果锁存在,就等待。直到建成功锁在会运行-c后面的命令。这样第一个进程没有运行完前,锁文件都会存在。这样就不会二个rsync同时并发处理一个东西了
flock防止重复rsync的更多相关文章
- shell脚本选择LOG里面特定的行,生成新文件并rsync上传
rsync.sh #!/bin/bash tool_path=$(cd `dirname $`; pwd) eval `cat ${tool_path}/conf.properties` rsync_ ...
- linux使用flock文件锁
使用linux flock 文件锁实现任务锁定,解决冲突 格式: flock [-sxun][-w #] fd# flock [-sxon][-w #] file [-c] command flock ...
- flock文件锁的学习和应用
flock文件锁 学习与应用 2016-9-20 作用: 可以使用flock文件锁,避免指定命令的同时执行.(实现任务锁定,解决冲突) 用法: # flock -xn /opt/lock_file ...
- shell脚本遍历子目录
#!/bin/bashsource /etc/profile tool_path=/data/rsync_clientroot_path=/data/log ####yyyy-mm-dd¸ñʽdat ...
- linux下简单的备份的脚本 2 【转】
转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4577034 之前写过linux下简单的 ...
- linux-flock文件锁之实际运用
vi test.sh #! /bin/bash echo "Hello World" touch test.lock #随便命名 [root@localhost ~]# flock ...
- Linux-flock文件锁的使用
在多个进程同时操作同一份文件的过程中,很容易导致文件中的数据混乱,需要锁操作来保证数据的完整性,这里介绍的针对文件的锁,称之为“文件锁”-flock. flock,建议性锁,不具备强制性.一个进程使用 ...
- Kafka集群---分布式消息系统
概念: kafka是一种消息中间件 作用: 解耦.冗余.提高扩展性.缓冲 保证顺序.灵活.削峰填谷 异步通信 kafla角色 producer: 生产者,负责发布消息 consumer: 消费者,负责 ...
- 用flock命令解决Linux计划任务重复执行
在做计划任务的时候,可能由于某些问题,任务没有执行完成,导致任务重复的运行,解决这个问题,只需要一个flock命令就可以了. flock --helpflock (util-linux-ng 2.17 ...
随机推荐
- Redis 笔记与总结4 set 和 zset 类型
(一)set 类型 set 是集合是 string 类型的无序集合. set 元素最大可以包含(2 的 32 次方)个元素.set 的是通过 hash table 实现的,所以添加.删除和查找的复杂度 ...
- Javascript 笔记与总结(1-2)词法分析
词法分析,按顺序分析 3 样: 第 1 步:先分析参数 第 2 步:再分析变量声明 第 3 步:再分析函数声明 一个函数能使用的局部变量,就从上面 3 步分析而来. 具体步骤: 0:函数运行前的瞬间, ...
- Pull解析器学习
1, package com.service; import java.io.InputStream; import java.io.OutputStream; import java.util.Ar ...
- JQ+rotate插件实现图片旋转,兼容IE7+ \ CHROME等浏览器
插件:/jquery.rotate.min.js CODE: <!DOCTYPE html> <html> <head> <meta charset=&quo ...
- notepad++ gvim editplus 三款选择试用
notepad++开源 试用还不错 但默认不会识别语法高亮 要自己设置 比较烦 gvim 在XP下竟然无法返回命令行 百般折腾无奈放弃 editplus 自带资源栏 选择器 文件查找功能 ...
- 利用EXCEL表实现网页数据采集到MYSQL数据库
先复制页面表格数据到EXCEL中,比如 2012-1-4 52.7 52.7 49 48.83 190007 9506968 2012-1-5 48.86 49.79 45.72 45.6 62325 ...
- 【转载】wireshark抓包
两种过滤器 捕捉过滤器:用于决定将什么样的信息记录在捕捉结果中.需要在开始捕捉前设置显示过滤器:在捕捉结果中进行详细查找.他们可以在得到捕捉结果后随意修改 1.捕捉过滤器 语法实例: tcp ds ...
- Centos tar命令
打包文件同时压缩 tar -zcvf /file.tar.gz /directoryname
- node socket onmessage
<script src="//cdn.sockjs.org/sockjs-0.3.min.js"></script> <script> var ...
- Java内存管理和垃圾回收
笔记,深入理解java虚拟机 Java运行时内存区域 程序计数器,线程独占,当前线程所执行的字节码的行号指示器,每个线程需要记录下执行到哪儿了,下次调度的时候可以继续执行,这个区是唯一不会发生oom的 ...