当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 15 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:06 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
此脚本的用途于要求:
1. 后台运行 ping localhost > datfile.dat 命令监视网络的连通情况,将结果保存到 datfile.dat 文件中;
2. 监视 datfile.dat 文件,当其新生成的数据大于 100KB 时,将新生成的数据按"datfile_开始时间_结束时间.dat"形式保存在当前目录(保存的数据要求是整行,不要断行保存。保存过的行,不要再保存);
3. 当所有新截取出来的.dat文件大小之和大于1MB字节时,将这些.dat文件打包压缩成.tar.gz格式,存放到当前目录下的archive子目录 (命名形式:datfile_第一个dat文件的开始时间_最后一个dat文件的结束时间.tar.gz),之后删除所有被打包的.dat文件(即打包后删除原文件);

----------------------------------------------------------------------

代码:
#!/bin/sh

user=$(ifconfig | grep "inet\ " | sed '2d' | cut -c23-35 )
allLength=0
num=0
st=0
while true
do
   touch datfile.dat
   startTime=$(date | cut -c31-38 | tr : _ )
   if [ ${num} -eq 0 ]
   then
      st=${startTime}
   fi

   while [ $(du -k "datfile.dat") -le 100 ]
   do
      ping ${user} >> datfile.dat
#这个地方>  与>>算是个问题,我现在改过来,以防影响后面的人,用>>也是不行,情况一样
#我自己在终端上用 ping 192.*.*.* >> abc.dat 这个文件是有数据的,但是写到脚本里就不行了
#ping 这终端是一直运行着产生数据的,用ctrl+c结束运行,是不是这个特性导致的问题?
      sleep 3
   done
   num=$(($num + 1))
   endTime=$(date | cut -c31-38  | tr : _ )
   rename=datfile_${startTime}_${endTime}.dat
   mv datfile.dat $rename
   #mv datfile.dat "datfile_${startTime}_${endTime}.dat"
   
   allLength=$(($allLength +$(du -k $rename | sed 's/   .*$//')))

   if [ $allLength -ge 1024 ]
   then
      tar -zcf datfile_${st}_${endTime}.tar.gz datfile_*_*.dat
      rm -f datfile_*_*.dat
      allLength=0
      num=0
      break;
   fi

done &


-------------------------------------------------------------
现在出现的问题是 ping部分,,脚本运行后会在当前目录下产生数据文件(以时间保存.dat),但是文件是空的,没内容,这是为什么???
大家看看前面的要求,看我程序那里有问题???
谢谢大家!!!


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


最后由 zglcx123 编辑于 2009-07-31 20:06,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:15 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
>>是追加。你每次都>怎么行!


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:16 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
由于每次都是重写。所以文件不可能大于100kB.


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:38 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
请大家仔细看看,用>>有也试过,还是不行呀


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:43 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
我运行了你的脚本。开始touch建立了个文件.然后就在ping > 那步里卡主了,没有继续运行!

你可以编个简单得验证一下思路,你犯得错误其实就是下面脚本错误。(也就是我上面说得)
#!/bin/sh
touch 1.txt

while true
do
ping *.*.*.* > 1.txt
sleep 3
done


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 19:50 

注册: 2008-09-06 2:00
帖子: 418
送出感谢: 0 次
接收感谢: 0 次
ping 你 ping 3次就可以了,为何无限ping?

执行完了才通过管道发到文件


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 20:10 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
wangzc2009 写道:
我运行了你的脚本。开始touch建立了个文件.然后就在ping > 那步里卡主了,没有继续运行!

你可以编个简单得验证一下思路,你犯得错误其实就是下面脚本错误。(也就是我上面说得)
#!/bin/sh
touch 1.txt

while true
do
ping *.*.*.* > 1.txt
sleep 3
done



谢谢这位大哥多次关注我的问题,,我用了你的方法,可以生成数据,但我的程序里的就是不行,而且还产生很多一时间命名的文件
刚刚我看了下下面一楼的兄弟的回答,觉得有可能是他说的那种问题,ping 完了后才会传到文件里,,
如何控制ping,, 我只想让那个文件的大小达到100k就可以重命名保存了。。


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 20:11 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
soiamso 写道:
ping 你 ping 3次就可以了,为何无限ping?

执行完了才通过管道发到文件


请问:如何控制ping ,,让数据达到100k就可以停止了


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 20:19 

注册: 2009-01-30 18:18
帖子: 319
地址: 湖北十堰
送出感谢: 5
接收感谢: 3
man ping 里有怎么只ping 一定数量得包。-c

不睡3秒了。每次只ping 一定数量得包就结束。然后在ping.直到大小够判断标准就行了。


_________________
愿意同大家一起学习分享linux知识


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-07-31 20:39 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
问题估计不在ping这里,,有点怀疑呀,把ping独立出来编写一个小脚本,就一点问题都没有。
顺便问下:ping -c n只是控制多少行, 怎么控制多少数据量?


各位兄弟们!问题没解决呀,谁能静下心来好好帮我看下!!!谢谢了

前面几位大哥,也谢谢你们


Help!!!
Help!!!
Help!!!


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-08-05 12:34 
头像

注册: 2007-11-07 17:53
帖子: 387
地址: shanghai
系统: Mac
送出感谢: 0 次
接收感谢: 0 次
ping 10000 次,然后用管道传给cat ,读出100k,在重定向


_________________
人生来只做的两件事:
1.犯错
2.改错
只犯错不改错的是魔鬼,只改错不犯错的是上帝
总之,都不是人!!!!!!!!!!!!!
我的地盘


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-08-05 12:45 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
这个问题怎么没人能解决呀!!!


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
13 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-08-05 17:48 

注册: 2009-07-13 11:49
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
man ping

Flags

-c Count
Specifies the number of echo requests, as indicated by the Count variable, to be sent (and received).
-s PacketSize
Specifies the number of data bytes to be sent. The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.


页首
 用户资料  
 
14 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-08-05 17:57 

注册: 2009-07-13 11:49
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
zglcx123 写道:
问题估计不在ping这里,,有点怀疑呀,把ping独立出来编写一个小脚本,就一点问题都没有。
顺便问下:ping -c n只是控制多少行, 怎么控制多少数据量?


各位兄弟们!问题没解决呀,谁能静下心来好好帮我看下!!!谢谢了

前面几位大哥,也谢谢你们


Help!!!
Help!!!
Help!!!



LZ你自己能不能先静下心来看看别人的回答。。。 :em20


页首
 用户资料  
 
15 楼 
 文章标题 : Re: 帮我看下我这个小脚本程序那里有问题????
帖子发表于 : 2009-08-05 18:03 
头像

注册: 2007-08-20 16:34
帖子: 110
地址: Earth
送出感谢: 0 次
接收感谢: 1
ping 部分一直有问题。
这个帖子关闭了吧


_________________
Dropbox!点我注册,你的起点高了500M,我也能多得到500M,共赢!
--------
HP V3808TU (2008.03.08---2012.10.08)
ASUS N56VZ (2012.10.08---未来)


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 15 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:YpJlkj2oj2 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译