rsync脚本优化,以及遇到的些问题
来源:互联网 发布:linux下nslookup 编辑:程序博客网 时间:2024/05/21 06:35
服务器的gs会每分钟生成一个日志,最后有一个5分钟的定时任务,将符合条件的日志汇总成一个文件,然后通过rsync传送过去。
台湾版本由于网络问题,存在一些漏报和重复的问题。
网络问题主要有丢包(ping的时候有很多丢包)和其它网络不稳定问题,比如说有的时候快,有的时候就不行。
之前国内的方案是5分钟调用一次,将生产的数据汇总成一个文件,然后rsync过去。整个过程很快,不会存在网络超时等其他问题。
但是台湾就不一样了,由于已经采用了中转机,没有更好的解决方案了。于是只能修改脚本来实现需求。
故改成如下的传送方式(优化脚本)
1.日志正常生成,然后将汇总那个文件放到一个目录中。
2.每次遍历这个目录,如果有上次生成的汇总文件,也尝试rsync一次。
3.如果一直超时,那么总有网络好的时候,会将目录中的汇总文件上报过去
4.如果上报成功,那么就将这个文件移动到备份目录中去
# 遍历文件夹内的所有文件,发送成功一个删一个ls $rsyncDir > $tempConsumeLogs/rsyncFiles.txtcat $tempConsumeLogs/rsyncFiles.txt | while read Linedo{ name=$Line echo "begin send log file: $name" cd ..; cd scripts /usr/bin/rsync -avzur --progress --password-file=${work_home}/${rsync_key} ${rsyncDir}/${name} ${rsyncuser}@$ip_addr::${modename} [ $? -eq 0 ] && echo "send $name success !!!!" && mv $rsyncDir/$name $backup_send #如果发送成功,那么就备份下,否则还在那个目录中}done
遇到的问题:rsync: getcwd(): No such file or directory (2)
begin send log file: 2017-12-21-15-15-01-10001_2386574184.log===/home..tempConsumeLogs/rsyncDir/2017-12-21-15-15-01-10001_2386574184.log rsync: getcwd(): No such file or directory (2)rsync error: errors selecting input/output files, dirs (code 3) at util.c(1042) [Receiver=3.1.0]
为啥会出现这样的问题?
是由于之前机器上本身之前跑了很多rsync进程(脚本写的,5分钟就开一个,结果都没跑完就都卡主了),还有很多目录,也都删掉和kill掉了。
解决方案:切换下目录就好了
cd ..; cd scripts
阅读全文
0 0
- rsync脚本优化,以及遇到的些问题
- rsync 遇到过的问题
- inotify+rsync同步遇到的问题
- mysql中遇到的问题,以及一些优化对策
- lr,录制的禅道系统的脚本回放时遇到问题以及解决方法
- 遇到的Mysql优化问题
- Tomact+mysql+navicat...以及一些遇到的小bug和优化的问题集
- system方法执行脚本遇到的问题
- 研究批处理脚本遇到的一些问题
- 执行MySQL脚本文件遇到的问题
- 学习shell脚本遇到的问题
- 编写shell脚本遇到的问题
- 解压缩脚本遇到的一些问题
- 脚本rsync
- 单元测试的遇到的问题以及收获
- 单元测试的遇到的问题以及收获
- Struts2的配置,以及遇到的问题
- Cocoapods的使用以及遇到的问题
- JAVA-简单Swing图形化界面
- homework001
- js控制键盘按键(回车、空格)
- 解决jdbcTemplate和jpa查询TINYINT(1)返回BOOLEAN的问题
- MySQL-索引和优化
- rsync脚本优化,以及遇到的些问题
- HDU-1004-Let the Balloon Rise
- C#多线程学习(四) 多线程的自动管理(线程池)
- 自己用的unity学习笔记(二)——unity进阶
- 整除问题
- Win7 U盘安装Ubuntu16.04 双系统详细教程
- 一条贪吃蛇的自我修养——从手动皮皮蛇到智能皮皮蛇
- JSP基础
- Netty源码分析之Reactor线程模型