作者:javalee
代码:
[/home/javalee]cat ~/myshell/ppp #!/bin/ksh #本脚本用于统计每次拨号上网所耗时间,用帽拨号的也许用得着. #放在/etc/rc.d/rc.local中,/xxx/xxx/ppp&,脚本要用绝对路 #径!另外将 #数据文件改成666即可 # #脚本开始 #建立函数_ps,便于重复调用. function _ps { ps -e|grep pppd; } line=$(cat /home/javalee/.log.txt|wc -l) #进入主循环. # while true;do
#辅循环,如果pppd进程存在,则跳过此循环,否则等待. until _ps>/dev/null 2>&1;do sleep 1 done
#pppd进程存在,找出进程启动时间.并将此时间添加至文件/home/javalee/.log.txt echo "上线时间:$(date +%T)" >>/home/javalee/.log.txt uptime=$(date +%s)
#辅循环,pppd进程存在,则等待,否则,将当前时间添加至文件/home/javalee/.log.txt while _ps >/dev/null 2>&1;do sleep 1 done echo "下线时间:$(date +%T)" >>/home/javalee/.log.txt downtime=$(date +%s)
#pppd进程已经不复存在,统计时间.并将结果添加至文件/home/javalee/.log.txt ((result_time=$downtime-$uptime)) H=$(($result_time/3600)) M=$(($result_time%3600)) if [[ $M -ge 59 ]];then M1=$(($M/60));M2=$(($M%60)) echo "第$line次上网在$(date +%m月%d日):用时:$H小时$M1分$M2秒">>/home/javalee/.log.txt else echo "第$line次上网在$(date +%m月%d日):用时:$H时$M分0秒">>/home/javalee/.log.txt fi ((line+=1)) #继续主循环. continue done
写了这个脚本,每次我就知道我每次上网的时间,用时多少啦。 |