Centos7系统初始化脚本

   日期:2020-10-10     浏览:105    评论:0    
核心提示:Centos7系统初始化脚本##前言:  因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦。于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作。说明:  本脚本根据自身需求编写而成,集成了Centos7服务器的基本初始化步骤。其中包含如下基础优化内容:  1)SELinux关闭;  2)Firewalld关闭;  3)Bash环境修改;  4)Openfile系统最大打开文件数配置;  5)系统内核参数优化配置;  6)Hostn

Centos7系统初始化脚本##

前言:
  因公司业务增加,陆续新增服务器,时不时的来几台,手动地一台台对服务器初始化操作感觉太麻烦。于是乎,根据初始化需求整合了一个初始化脚本,实现批量脚本初始化操作。

说明:
  本脚本根据自身需求编写而成,集成了Centos7服务器的基本初始化步骤。

其中包含如下基础优化内容:
  1)SELinux关闭;
  2)Firewalld关闭;
  3)Bash环境修改;
  4)Openfile系统最大打开文件数配置;
  5)系统内核参数优化配置;
  6)Hostname主机名修改;
  7)History历史记录配置;
  8)个性化配置等。
注意:
  A)脚本执行完后将自动重启服务器;
  B)执行脚本前应在/etc/hosts中配置好对应的解析,如 10.10.10.10 kazihuo 内容添加到hosts文件中,执行完脚本后,服务器10.10.10.10将自动将Hostname主机名配置成 “jumpserver” ;
  C)确保存在 /tmp/sysctl.conf 文件,即将已配置好的Kernel内核优化参数文件放置 /tmp 目录下,执行完脚本后,其优化参数将自动配置到服务器中;如无优化文件,即在最后的函数中注释 Kernel 即可;

内容:
  脚本内容如下:
  [root@jumpserver ~]# cat /shell/init.sh

在这里插入代码片
```#!/bin/bash #==================================================== # Author: Mr.song # Blog: https://blog.csdn.net/qq_46229380/article/details/108982089 # Create Date: 2020-10-9 # Description: It works for system initalization. #==================================================== #State:Plese confirm the files of /etc/hosts and /tmp/sysctl.conf before using the script [ -f /etc/init.d/functions ] && source /etc/init.d/functions # Defined result function function Msg(){  if [ $? -eq 0 ];then action "$1" /bin/true else action "$1" /bin/false fi } # Defined close selinux function function Selinux(){  [ -f /etc/selinux/config ] && {  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config setenforce 0 Msg "Close selinux" } } # Defined close firewalld function function Firewalld(){  systemctl stop firewalld.service systemctl disable firewalld.service >/dev/null 2>&1 Msg "Close firewalld" } # Defined bashrc function function Bashrc(){  sed -i 's/\\h \\W/\\h \\w/g' /etc/bashrc Msg "Bashrc" } # Defined open files function for Centos6. function Openfile6(){  if [ `egrep "^\*" /etc/security/limits.conf|wc -l` -eq 0 ];then echo '* - nofile 65535' >> /etc/security/limits.conf ulimit -SHn 65535 Msg "Open files" fi } # Defined open files function for Centos7. function Openfile7(){  if [ `egrep "^De" /etc/systemd/system.conf|wc -l` -eq 0 ];then echo 'DefaultLimitCORE=infinity' >> /etc/systemd/system.conf echo 'DefaultLimitNOFILE=100000' >> /etc/systemd/system.conf echo 'DefaultLimitNPROC=100000' >> /etc/systemd/system.conf ulimit -SHn 100000 Msg "Open files" fi } # Defined kernel paramters function function Kernel(){  if [ -f /tmp/sysctl.conf ];then /usr/bin/\cp /etc/sysctl.conf /etc/sysctl.conf.$RANDOM /usr/bin/\cp /tmp/sysctl.conf /etc/ sysctl -p >/dev/null 2>&1 Msg "kernel paramters" else echo "/tmp/sysctl.conf is not exist" fi } # Defined hostname function function Hostname(){  ip=`/usr/sbin/ip addr|grep brd|awk 'NR==3{print $2}'|awk -F "/" '{print $1}'` name=`grep -w "$ip" /etc/hosts|awk '{print $2}'` if [ -z $name ];then sleep 1 else echo $name > /etc/hostname hostnamectl set-hostname $name Msg "Hostname" fi } # Defined device function function Device(){  /usr/sbin/ip addr|grep ens192 >/dev/null RETVAL=$? if [ $RETVAL -ne 0 ];then /usr/bin/mv /etc/sysconfig/network-scripts/ifcfg-e* /etc/sysconfig/network-scripts/ifcfg-ens192 >/dev/null 2>&1 sed -i 's/quiet/quiet net.ifnames=0 biosdevname=0/g' /etc/default/grub sed -i 's/^DEVICE/#DEVICE/g' /etc/sysconfig/network-scripts/ifcfg-e* sed -i '1i DEVICE=ens192' /etc/sysconfig/network-scripts/ifcfg-e* /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg >/dev/null 2>&1 Msg "Device--[WARNING]effecting after reboot~~~" else echo "the name of eths is exist" fi } # History collect function History(){  cat >>/etc/profile.d/history.sh <<EOF #history USER=\`whoami\` USER_IP=\`who -u am i 2>/dev/null|egrep -o "([0-9]{1,3}\\.){3}[0-9]{1,3}"\` if [ "\$USER_IP" = "" ]; then USER_IP=\`hostname\` fi if [ ! -d /var/log/history ]; then mkdir /var/log/history chmod 777 /var/log/history fi if [ ! -d /var/log/history/\${ LOGNAME} ]; then mkdir /var/log/history/\${ LOGNAME} chmod 300 /var/log/history/\${ LOGNAME} fi export HISTSIZE=4096 DT=\`date +"%Y%m%d_%H:%M:%S"\`
export HISTFILE="/var/log/history/\${LOGNAME}/\${USER}@\${USER_IP}_\$DT"
chmod 600 /var/log/history/\${LOGNAME}/*history* 2>/dev/null
EOF
    Msg "History collect"
}

# Defined the hobby.
function Hobby(){ 
    mkdir -p /{ luomurui,luomurui-bak}/{ scr,pkg,test,info}
}

# Defined wait function
function Wait(){ 
    echo ""
    echo -n -e "\033[31mTHE SYSTEM IS REBOOTING\033[0m"
    for ((i=0;i<3;i++))
    do
        echo -n "~~ "
        sleep 1
    done
    echo
}

# Defined main function
function main(){ 
Selinux
Firewalld
Bashrc
#Openfile6
Openfile7
Kernel
Hostname
Device
History
Hobby
Wait
reboot
}
main


 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服