• linux初始化脚本


    #!/bin/bash
    stty erase ^h

    echo "------设置时区并同步时间------"
    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &> /dev/null
    if ! crontab -l |grep ntpdate &>/dev/null ; then
    (echo "* 1 * * * ntpdate time.aliyun.com >/dev/null 2>&1";crontab -l) |crontab
    fi

    echo "------禁用selinux------"
    sed -i '/SELINUX/{s/enforcing/disabled/}' /etc/selinux/config

    echo "------安装命令补全包------"
    yum install -y epel-release &>/dev/null 2>&1
    yum install -y bash-completion &>/dev/null 2>&1

    echo ================================================
    echo = 1.清空firewall防火墙原来所有的规则,只保留ssh                     =
    echo = 2.关闭防火墙                                                                           =
    echo ================================================
    read -p "选择清空防火墙(1)或者关闭防火墙(2)" choice
    case $choice in
    1)
        cd /etc/firewalld/zones/
        echo "" > public.xml
    cat >> public.xml << EOF
    <zone>
    <short>Public</short>
    <service name="ssh"/>
    </zone>
    EOF
          firewall-cmd --reload >/dev/null 2>&1
    ;;
    2)
          iptables -F
          systemctl disable firewalld &> /dev/null
                 if [ $? -eq 0 ];then
                      echo "关闭成功"
                 fi
    ;;
    *)
                 echo "输入错误,请重新输入"
    ;;
    esac

    echo "------设置最大打开文件数------"
    if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then
    cat >> /etc/security/limits.conf << EOF

    * soft nofile 65535
    * hard nofile 65535
    EOF
    fi

    echo "------设置最大进程数------"
    if ! grep "* hard nproc 1204000" /etc/security/limits.conf &>/dev/null; then
    cat >> /etc/security/limits.conf << EOF

    * hard nproc 1204000
    * soft nproc 1204000
    EOF
    fi

    echo "------高并发内核优化------"
    cat >> /etc/sysctl.conf << EOF

    net.ipv4.tcp_syncookies = 1
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1
    net.ipv4.tcp_fin_timeout = 30
    EOF


    echo "------禁止SWAP使用------"
    sed -ri 's/.*swap.*/#&/' /etc/fstab

    echo "------选择安装常用软件------"
    read -p "是否安装常用工具(y|n):" num
    case $num in
    y|Y|yes|YES|Yes)
                yum install -y wget vim net-tools lrzsz &>/dev/null 2>&1
                echo "安装完成"
    ;;
    N|n|NO|No|no|nO)
                break
    ;;
    *)
                echo "请输入正确选项"
    exit
    ;;
    esac

    echo "------选择下载阿里云yum源------"
    ls -l /etc/yum.repo/Centos-7.repo &>/dev/null 2>&1
    if [ $? -eq 0 ]; then
              echo "您已经下载了阿里云yum源"
    else
              echo "检测到您还没下载阿里云yum源"
              read -p "是否安装阿里云yum源(y|n):" yum
              case $yum in
    y|Y|yes|YES|Yes)
                   aa="/etc/yum.repo/"
                   rm -rf $aa*.repo
                   wget -P $aa http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null 2>&1
    ;;

    N|n|NO|No|no|nO)
                   break
    ;;

    *)
                  echo "请输入正确选项"
            esac
    fi

    echo "------清除yum源缓存------"
    yum makecache fast &> /dev/null
    if [ $? -eq 0 ];then
    echo "刷新成功"
    fi

    #重启之后电脑配置生效
    echo "------即将重启电脑------"

    read -p "是否重启电脑(y|n):" reboot
    case $reboot in
    y|Y|yes|YES|Yes)
              reboot
    ;;

    N|n|NO|No|no|nO)
              echo "稍后手动重启"
    ;;

    *)
              echo "请输入正确选项"
    exit
    ;;
    esac

    添加防火墙端口脚本

    #!/bin/bash
    echo "------允许iptable的端口------"
    ipableport(){
           port=$1
           protocol=$2
           iptables -I INPUT -p $port --dport $protocol -j ACCEPT
           service iptables save
    }
    ipableport(){
    }

    参考:

    #配置yum 源并优化
    mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
    yum makecahe
    var_yum_list=$(yum repolist |tail -n5)

    #修改PS1
    echo 'export PS1="[\u@\[\e[1;31m\]\h \[\e[1;36m\]\W\[\e[0m\]]\\$ "' >> ~/.bashrc
    source ~/.bashrc

  • 相关阅读:
    HDOJ-3635-Dragon Balls 解题报告
    HDOJ-1217-Arbitrage 解题报告
    C语言控制台窗口图形界面编程(总结)
    PC(win10)上搭建 kubernetes + docker 集群环境
    Hessian 2.0 序列化协议
    对响应式布局的理解
    常用链接集合
    dubbox升级dubbo的过渡方案:通过扩展dubbo的Protocol实现dubbo与dubbox的相互调用
    Wordpress部署 —— 基于Ubuntu、Mysql和Nginx
    关于27种常见设计模式的总结
  • 原文地址:https://www.cnblogs.com/zgqbky/p/16104985.html
Copyright © 2020-2023  润新知