shell修改配置文件脚本

#!/bin/bash
#Use to modify ip or domain for  files of apinfo.json/ldd.conf/ngx_x.conf/fdfs
#

main_menu()
{
echo
echo
dis_mainmenu="Modify ip or domain for linkdood"
curdate=`date "+%Y-%m-%d %T"`
cat <<EOF
        DATE :$curdate
    =====================================
     $dis_mainmenu
    =====================================
    **        [A]ll                    **
    **        [P]relogin               **
    **        [L]inadoudou             **
    **        [N]ginx                  **
    **        [F]dfs                   **
    **        [E]XIT                   **

EOF
}

log_msg() {
    # $1 is level  $2 is messages
    if [[ $1 == "ok" ]] ; then
        printf "%-30s %10s" "$2" " "
        #sleep 0.8
        echo -e "[  \033[32mOK\033[0m  ]"
    elif [[ $1 == "no" ]] ; then
        printf "ERROR:%-30s %10s" "$2" " "
        #sleep 0.8
        echo -e "[\033[31mFAILED\033[0m]"
    else
        #printf "%-25s %10s " "$2" " "
        echo -e "$1$2"
    fi
}


modify_pl(){
        file=/data/linkdood/im/vrv/apinfo.json
        sleep 1
        sed -i "s@\(\"ImageHost\"\).*\(,\)@\1 : \"http://$1/predownload\"\2@g" $file
        sed -i "s@\(\"LocalDownURL\"\).*\(,\)@\1 : \"http://$1\"\2@g" $file
        sed -i "1,20s@\(\"UpURL\"\).*\(,\)@\1 : \"http://$1\"\2@g" $file
        sed -i "20,150s@\(\"UpURL\"\).*\(,\)@\1 : [\"http://$1\"]\2@g" $file
        sed -i "1,20s@\(\"DownURL\"\).*\(,\)@\1 : \"http://$1\"\2@g" $file
        sed -i "20,150s@\(\"DownURL\"\).*\(]\)@\1 : [\"http://$1\"\2@g" $file
        sed -i "s@\(\"OutterIP\"\).*\(,\)@\1 : \"$1\"\2@g" $file
        log_msg "ok" "apinfo.json"       
        sleep 1
}

modify_ngx(){
        cd /data/linkdood/im/vrv/nginx/conf/conf.d
        files=`ls`
        for file in $files
           do
             sleep 1
             sed -i "s@\(server_name\).*@\1 $1;@g" $file
             log_msg "ok" "$file"
           done
        sleep 1

}

modify_liandoudou(){
        file=/etc/vrv/liandoudou.conf
        read -p "Use 80 or 10080 or other  defualt[80]: "  n
        if [ "$n" == "" -o "$n" == "80" ];then
            sed -i "s@\(\"outip\"\).*\(,\)@\1 : \"$1\"\2@g" $file
            sed -i "s@\(\"domain\"\).*\(,\)@\1 : \"$1\"\2@g" $file
            sed -i "s@\(\"eurl\"\).*\(,\)@\1 : \"$1\"\2@g" $file
            log_msg "ok" "liandoudou.conf" 
        elif [ "$n" == "10080" ];then
           sed -i "s@\(\"outip\"\).*\(,\)@\1 : \"$1\"\2@g" $file
           sed -i "s@\(\"domain\"\).*\(,\)@\1 : \"$1:$n\"\2@g" $file
           sed -i "s@\(\"eurl\"\).*\(,\)@\1 : \"$1:$n\"\2@g" $file
           log_msg "ok" "liandoudou.conf"
        else
           log_msg "no" "Only 80 or 10080 for linkdood !"
           modify_liandoudou 
        fi
        sleep 1
}

modify_fdfs(){
        cd /root/fdfs/
        files=`ls`
        echo
        echo " Start modify fdfs" 
        echo "To modify parameter:[ $k ]"
        for file in $files
           do
             echo "To modify file:[ $file ]"
             sleep 1
           done
}


modify_all(){
 modify_liandoudou $1
 modify_pl $1
 modify_ngx $1
 log_msg "INFO: " "Modify Success !"
 #modify_fdfs $1
}

while true
do
main_menu
read -p "Please select the profile that you want to modify: "  f
if [ "$f" == "E" -o "$f" == "e" -o "$f" == "exit" ];then
   exit -1
fi
read -p "Please input ip or domain: "  k
case $f in
     ALL|A|a)         
       modify_all $k
     ;;
    P|p)
     modify_pl $k
     ;;
    N|n|nginx)
     modify_ngx $k
     ;;
    F|f|fdfs)
       modify_fdfs $k
     ;;
    L|l|liandoudou)
       modify_liandoudou $k
     ;;
    E|e|exit)
      echo "exit"
     exit -1
     ;;
    *)
      echo "Please input or select for correct !"
     ;;
esac   
done

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值