升级了杀毒脚本
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 语言程序了。
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
