从这个星期一开始到这个月底,要进行release工作,team里的同事们都在紧锣密鼓地进行最后的工作。
在release之前要进行3轮测试,时间比较紧。
这几天脑子里都是搭建环境,测试,loop 地进行着。
昨天下班的时候收到另一个项目的邮件,要进行shell 脚本的编写,要求第二天交任务。无形中有些压力,两个工作都十分紧张,真的有些乱了方寸,另外对shell的语法也不了解。
晚上回去前在论坛发了帖子,然后疯狂搜索类似于perl 中seek 一样的函数。
对着vi,脑子很茫然,我的问题是这样的:
(1) Shell:
o 读取上次读取的位置
o 从上次的位置读取日志文件,并将结果写到新日志文件中
o 使用ftp将日志传递到新服务器(这个可以参考其他shell代码)
一边搜索,一边想,一边纠结,想尽快解决掉它,为测试争取时间。到了3点了,该睡觉了。
早上醒来,突然想到了解决办法:
设计思路:
创建一个存放偏移量的文件record;
实际上,该偏移量就是新增加内容的字节数;
读取位置的确定,采用跳过record记录的字节数,来定位并且复制到新文件。
ftp 为独立的文件。
所以要有三个文件存在: 一个是记录偏移量的文件 / 一个是自身的脚本 / 一个是ftp上传的脚本
早上来到公司,把代码敲了出来,很欣慰。
a=`cat readfile`
echo $a
skip=$a
dd if=file of=newfile2 bs=1 skip=$skip
a1=`wc -c newfile2 | awk '{print $1}'`
sum=`expr $a + $a1`
echo $sum>readfile
echo $sum