升级了杀毒脚本
10.21认真改进了服务器杀毒策略,并体现在修改了的杀毒脚本上。
11.1 发现不起作用了。出现了时间格式bug.

主脚本: avNow
#!/bin/sh
# added on 2004-10-21, aiming to anti viurs
# rev on 2004-11-04, new vonline, fixed date format bug.
mydate=`date +%H`
touch /logs/$mydate.log
cd /ntws
vonline > users
cat users | sed '1,2d' | sed '$d' | sed '$d' > users2
while read user
do
cd /home/$user
/usr/local/bin/f-prot -auto -disinf -noarchive -noboot -report=/logs/$mydate$user.log /home/$user
done< users2
# clean up
/usr/bin/dl


# end of avNow

# Begin of vonline

#!/bin/bash
# Rev. on 2002-12-18.
# added on 2003-1-1
# rev on 2004-11-04
#TODAY=`date +%Y-%m-%d`
# it told 2004-11-04 as 2004-11-04,
# howerver in database, 2004-11-04 was stored as 2004-11-4.

#TODAY=`date +%Y-%m-%e`
# it told 2004-11-04 as 2004-11- 4, why added a space char ?
TODAY=`mdate`
# it worked eventually!
sql="select distinct(username) from ntfees where addtime='$TODAY' "
psql -h 192.168.0.100 Zdufees -U feesAdmin -c "$sql"

# end of vonline


#!/bin/bash
# File name: dl
# added on 2004-10-23
cd /logs
find . -type f -size -560c -exec rm -f {} \;

# end of dl


问题:
vonline正确地将2004-11-01表述为2004-11-04,但在计费数据库里面,相应的记录却是2004-11-4。
就是这一点差别使得avNow失效。

最简单的解决办法是修改date的参数,但参数e没有讨厌的0,却又
多了一个空格,avNow仍然不能自动运行。
而2004-11-4这种格式是由perl脚本产生的,而perl脚本调用的是pgsql.pl,要找到再修改,也得查perl资料,比较讨厌,已经2年多没有用perl写新的脚本了。
只好用 c 语言写一个小程序了。
半年没有写c 语言程序了,倒腾了半个小时才搞定。
mdate负责产生2004-11-4这样的时间格式。

avNow在休息了4天之后,终于又可以作为crontab任务自动运行了。

在这四天里面,每天只好手工执行 avNow3,
例如: avNow3 2004-11-3

网管的工作,就是要经常写脚本,shell 脚本, perl脚本, php 脚本。
实在不行,就只有写个C 语言程序了。
hofman   2004-11-05 00:10:51 评论:0   阅读:974   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

2003-2007@copyright