|
编写 systemonitor.sh 程序,要求包括以下功能:
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文件(即打包后删除原文件);
4. 完成上述任务后,结束所有由 systemonitor.sh 启动的进程;
5.实现systemonitor.sh随系统启动而运行
我的思路
1.先写一个shell脚本,将ping的结果存进datfile.dat中
2,再分析这个脚本的大小,做后续操作
请教各位,谁有方法实这个shell
我认为第2点和第3点不好做,我刚接触shell编程
#/usr/bin/sh
#grad /etc/hosts and ping each address
cat /etc/hosts|grep -v '^#' | while read LINE
do
ADDR=`echo $LINE|awk '{print $1}'`
for MACHINE in $ADDR
do
ping $MACHINE > datfile.dat
done
done
ls -l datfile.dat|grep >ds.txt
awk '$5/1000<100 {print $5}' ds.txt
这样能输出datfile的大小 |
|