TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 脚本
  3. 正文

服务器系统配置初始化脚本

2023年11月13日 777点热度 0人点赞 0条评论
#/bin/bash
# ------------------------------------------
# Filename:         服务器系统配置初始化脚本.sh
# Version:          1.1
# Date:             2023/09/24
# Author:           tanghao
# Email:            2826588067@qq.com
# Description:      This is the first script
# Copyright:        2023 tanghao
# License:          GPL
# ------------------------------------------
# 设置时区并同步时间
function date_1 (){
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & > /dev/null
if ! crontab -l |grep ntpdate &>/dev/null ; then
    (echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab 
fi
}
​
# 禁用selinux
function selinux_2(){
sed -i '/SELINUX/{s/permissive/disabled/}' /etc/selinux/config
}
​
# 关闭防火墙
function firewalld_3(){
if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then
    systemctl stop firewalld
    systemctl disable firewalld
elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then
    service iptables stop
    chkconfig iptables off
fi
}
​
# 历史命令显示操作时间
function command_date_4(){
if ! grep HISTTIMEFORMAT /etc/bashrc; then
    echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/bashrc
    . /etc/bashrc
fi
}
​
# SSH超时时间
function ssh_fullDate_5(){
if ! grep "TMOUT=600" /etc/profile &>/dev/null; then
    echo "export TMOUT=600" >> /etc/profile
fi
}
​
# 禁止root远程登录
function down_rootSsh_6(){
sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
}
​
# 禁止定时任务向发送邮件
function crontab_mali_7(){
sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab 
}
​
# 设置最大打开文件数
function openFileMax_8(){
if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then
    cat >> /etc/security/limits.conf << EOF
    * soft nofile 655350 
    * hard nofile 655350
    * soft nproc  655350
    * hard nproc  655350
    * soft core   unlimited
    * hard core   unlimited
EOF
fi
}
​
# 系统内核优化
function ker_9(){
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 20480
net.ipv4.tcp_max_syn_backlog = 20480
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 20  
EOF
}
​
function swapLimit_10(){
# 减少SWAP使用
echo "0" > /proc/sys/vm/swappiness
}
​
#软件下载优化
function install_common_software_11(){
package="
sysstat
lrzsz
gcc
vim
telnet
tree
lsof
tcpdump
iotop
net-tools
bash-completion
vim-enhanced"
for i in $package ;do
  rpm -q $i || yum -y -q install $i
done
}
​
#下载源优化
install_optimize_12(){
  rpm -q wget || yum install -q -y wget
  wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
​
}
option="
设置时区并同步时间
禁用selinux
关闭防火墙
历史命令显示操作时间
SSH超时时间优化
禁止root远程登录
禁止定时任务向发送邮件
设置最大打开文件数
系统内核优化
减少SWAP使用
软件下载优化
下载源优化—阿里云
一键全部优化
退出
"
​
COLOR='echo -e \033[1;31m'
COLOR2='echo -e \033[1;32m'
END="\033[0m"
PS3="Please select the option you want to optimize 1-14 :"
select menu in $option ;do
    case $REPLY in
      1)
      date_1
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      2)
      selinux_2
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      3)
      firewalld_3
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      4)
      command_date_4
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      5)
      ssh_fullDate_5
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      6)
      down_rootSsh_6
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      7)
      crontab_mali_7
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      8)
      openFileMax_8
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      9)
      ker_9
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      10)
      swapLimit_10
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      11)
      install_common_software_11
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      12)
      install_optimize_12
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Fail $END
      ;;
      13)
      date_1
      selinux_2
      firewalld_3
      command_date_4
      ssh_fullDate_5
      down_rootSsh_6 
      crontab_mali_7
      openFileMax_8
      ker_9
      swapLimit_10
      install_common_software_11
      install_optimize_12
      [ $? -eq 0 ] && $COLOR2 Success $END || $COLOR2 Success $END
      ;;
      14)
      exit
      ;;
      *)
    echo -e "\033[31m;1 你输入数字有误,请重新输入 \033[0m"
      ;;
     esac
done
标签: 暂无
最后更新:2023年11月14日

tanghao946

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号