- 论坛徽章:
- 0
|
问题描述: 在/usr/prima/etc/httpd/目录下有个文件 virtual.conf 里面存放很多网页的虚拟目录配置信息
virtual.conf 部分内容如下:
<Directory /www/users/aaaaa.com>
Options +IncludesNOEXEC
</Directory>
<Directory /www/users/1111111.com> #
AllowOverride All # 下面判断要删除的关键字 : FileInfo 或 FollowSymLinks 或 AllowOverride
</Directory> # 这三行是要去掉的
<Directory /www/users/bbbbbb.com>
Options +IncludesNOEXEC
</Directory> #这三行就不需要删
脚本要完成的任务就是 删除这个文件中 以 <Directory> ......</Directory>的代码 并且<Directory>第二行的关键字是 FileInfo 或 FollowSymLinks 或 AllowOverride
我写的脚本如下 :
#!/bin/bash
cd /usr/prima/etc/httpd/
tar zcvf primahttpd.tar.gz *
echo -e "\e[35;1mbackup config files completed !\e[0m" #先备份配置文件
sleep 0.5
sed -n '/^<Directory/=' virtual.conf >linenum #取出行首为 <Directory 的行的行号 保存到 linenum文件中
touch virtual.conf.bak #建立临时文件
for i in $(cat linenum) #依次取出行号 做循环
do
let i=i+1 #这里是为了判断 <Directory的下面一行 是否为要删除的
echo $i
sed -n "${i}p" virtual.conf | grep -E "FileInfo|FollowSymLinks|AllowOverride" # 判断这一段 <Directory
#是否是要删除的关键字
if [ $? = 0 ]
then
let i=i-1
sed "$(i),/^</Directory/d" virtual.conf > virtual.conf.bak
mv -f virtual.conf.bak virtual.conf
fi
sed -n '/^<Directory/=' virtual.conf >linenum
done
echo -e "\e[35;1mThe task has been completed !\e[0m"
执行脚本后 virtual.conf 文件就被清空了 不知道原因何在 期待朋友们帮忙 谢谢
[ 本帖最后由 txwsqk 于 2009-12-8 11:53 编辑 ] |
|