squid自动执行添加用户及允许访问网址脚本

自动加用户及允许访问URL

#!/bin/bash
###########################说明#######################
#执行 ./autoadd  $1  $2  $3 $4 $5
#如:./autoadd app 123456 192.168.1.1 www.baidu.com 443
# $1应用名 $2密码  $3源ip $4目标ip或域名 $5端口
#####################################################
source /etc/profile
# 定义变量
addcount='/usr/bin/htpasswd'
passwd_file='/home/admin/squid/conf/rsync/passwd'
allow_dstdomain='/home/admin/squid/conf/rsync/allow_dstdomain'
ispany_client='/home/admin/squid/conf/rsync/ispany_client'
safe_ports='/home/admin/squid/conf/rsync/safe_ports'

#增加或更新帐号密码
$addcount -b $passwd_file  $1  $2

#判断是否开公网any
if [ $4 = 'any' ]
then
     if ! grep "$3" $ispany_client >/dev/null
       then
       echo "${3}">> $ispany_client
       echo "成功开通'${3}' 公网权限"
     else
       echo "'${3}'已经开通过,请直接配置使用"
       exit 0
     fi
else
#开公网普通
     if ! grep "$4" $allow_dstdomain >/dev/null
       then
#网址去头尾        
        echo "${4}" | sed -r 's/(\w*:\/\/)([^:/]*).*/\2/'>>$allow_dstdomain
        echo "成功开通'${4}' 公网权限"

     fi
fi
#判断端口是否存在     
if ! grep "$5" $safe_ports >/dev/null
   then
      echo "${5}">> $safe_ports
      echo "成功添加'${5}' 端口"
fi

#重新加载配置文件
#本机
su - admin -c "/etc/init.d/squid reload"
#等5秒确保同步完成
sleep 5
#其它三台,重新加载配置文件
ansible squid -s -a 'su - admin -c "/etc/init.d/squid reload"' 
echo "重新加载配置文件,操作完成"
exit 0

你可能感兴趣的:(squid自动执行添加用户及允许访问网址脚本)