#!/bin/bash
usage() {cat <<EOFI
Usage: $0 [OPTION]
OPTION:all (expcet net_config)      #执行所有disable_selinux              #禁用selinuxuseless_user                 #删除无用账号ulimit_config                #修改ulimit限制disable_ipv6                 #禁用IPV6useless_service              #优化服务sysctl_config                #优化内核参数sshd_config                  #配置SSHDyum_config                   #配置YUM源yum_update                   #安全的自动更新软件包vim_config                   #配置VIM编辑器install_docker               #安装并配置dockerntpdate_config               #设置时间同步
EOFI
}
#禁用selinux
disable_selinux() {if grep -q '^SELINUX' /etc/selinux/config;thensed -ri '/^SELINUX/s/(SELINUX=)(.*)/\1disabled/' /etc/selinux/configelseecho "SELINUX=disabled" >>/etc/selinux/configfi
}
#删除无用账号
useless_user() {for u in lp shutdown halt news uucp operator games gopherdouserdel -r $udonefor g in lp news uucp games didogroupdel $gdone
}
#修改ulimit限制
ulimit_config() {cat > /etc/security/limits.d/30-nofile.conf << EOFI
*          soft    nofile    102400
*          hard    nofile    102400
EOFIcat > /etc/security/limits.d/20-nproc.conf << EOFI
*          soft    nproc     102400
*          hard    nproc     102400
EOFI
}
#禁用IPv6
disable_ipv6() {grep '^GRUB_CMDLINE_LINUX' /etc/default/grub|grep -q 'ipv6.disable=1'if [ $? -ne 0 ];thensed -ri '/^GRUB_CMDLINE_LINUX/s/(.*)(rhgb.*)/\1ipv6.disable=1 \2/' /etc/default/grubgrub2-mkconfig -o /boot/grub2/grub.cfgfi
}
#优化服务
useless_service() {yum remove -y postfixyum remove -y firewalld-*yum remove -y NetworkManager-*grep '^After' /etc/systemd/system/multi-user.target.wants/sshd.service|grep -q 'network.service'if [ $? -ne 0 ];thensed -ri '/^After/s/(.*)/\1 network.service/' /etc/systemd/system/multi-user.target.wants/sshd.servicefi
}
#内核参数优化
sysctl_config() {cat > /etc/sysctl.conf << EOFI
#消息队列
kernel.msgmnb = 65536
kernel.msgmax = 65536
#共享内存
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
#网络参数优化
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 65535
net.core.optmem_max = 81920
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.all.send_redirects = 0
#redis参数
vm.overcommit_memory = 1
vm.swappiness = 0
#IO参数优化
vm.dirty_background_ratio = 5
vm.dirty_ratio = 20
#LVS忽略VIP的arp请求
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
EOFIsysctl -p
}
#修改sshd配置
sshd_config() {sed -i 's/^#AddressFamily any$/AddressFamily inet/' /etc/ssh/sshd_configsed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_configsed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_configgrep -q 'pam_tally2.so' /etc/pam.d/sshdif [ $? -ne 0 ];thensed -i '/pam_sepermit/a\auth       required     pam_tally2.so onerr=fail deny=3 unlock_time=60 even_deny_root root_unlock_time=180' \/etc/pam.d/sshdfi
}
#yum源配置
yum_config() {yum install -y wget epel-releasewget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.reposed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repowget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.reposed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repoyum clean allyum makecache
}
#自动安全的更新
yum_update() {yum install -y yum-cronsed -i 's/update_cmd = default/update_cmd = security/' /etc/yum/yum-cron.confsed -i 's/apply_updates = no/apply_updates = yes/' /etc/yum/yum-cron.confsystemctl enable yum-cron.servicesystemctl restart yum-cron.service
}
#配置VIM编辑器
vim_config() {yum install -y vim-en*grep -q 'set tabstop' /etc/vimrcif [ $? -ne 0 ];thensed -i '/set ruler/a\set tabstop=2' /etc/vimrcfi
}
#安装并配置docker-ce
install_docker() {yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's#download.docker.com#mirrors.aliyun.com/docker-ce#' /etc/yum.repos.d/docker-ce.repoyum makecache fastyum -y install docker-cesystemctl start docker.servicecat > /etc/docker/daemon.json <<EOFI
{"registry-mirrors": ["https://bm5sgu8k.mirror.aliyuncs.com"]
}
EOFIsystemctl daemon-reloadsystemctl restart docker.service
}
#时间同步
ntpdate_config() {yum  install -y  ntpdatetimedatectl set-timezone Asia/Shanghaigrep -q '/usr/sbin/ntpdate' /var/spool/cron/rootif [ $? -ne 0 ];thenecho "11 */1 * * * /usr/sbin/ntpdate -s ntp1.aliyun.com" >>/var/spool/cron/rootfi
}
if [ -z $1 ];thenusage
fi
if [ "$1" == "all" ];thendisable_selinuxuseless_userulimit_configdisable_ipv6useless_servicesysctl_configsshd_configyum_configyum_updatevim_configinstall_dockerntpdate_config
else$1
fi

centos7一键优化脚本相关推荐

  1. linux 优化脚本 关闭服务器,linux服务器一键优化脚本

    服务器一键优化脚本,高亮显示linux 内容:关闭selinux.时间同步设置.永久静态路由天添加.经常使用软件安装centos 高并发参数调优:文件句柄数调优.防火墙表空间调优bash 测试环境:c ...

  2. linux一键优化脚本1.0

    2019独角兽企业重金招聘Python工程师标准>>> #!/bin/bash #Author:Johnny.Feng #fengjihu@chnvideo.com . /etc/i ...

  3. Centos7脚本一键优化

    我把优化centos7的脚本分享给大家,建议刚安装完服务器的朋友执行如下优化脚本 [root@test2 yum.repos.d]# cat centos7.sh #!/bin/bash #autho ...

  4. Centos7 Mysql 一键安装(设置默认密码)、一键卸载脚本

    平台:Centos7 安装包:mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar 兼容:Mysql8.5 一键安装脚本:请在NEWPASS变量上写下你要设置的默认密码 # ...

  5. linux安装csgo服务器,Centos7.x的CSGO服务器一键安装脚本

    在我意识到shell编程的重要性之后,我便开始想着学习shell,但是拿什么练手呢?我想到了CSGO服务器的搭建,于是这个一键安装CSGO服务器的脚本就诞生了. 一. 前期的准备 1.首先我们需要获取 ...

  6. CentOS7下pptp ***一键安装脚本

    CentOS 6.7下pptp ***一键安装脚本,安装如下: wget http://mirrors.linuxeye.com/scripts/***_centos.sh chmod +x ./** ...

  7. Scoks5 一键搭建脚本,解决nolanjdc被限制IP

    Socks5服务一键搭建脚本 github链接 很多人的nolanjdc被限制ip,又找不到合适的代理ip,今天介绍一个socks5代理搭建脚本,一键傻瓜式操作. 交流:914535027 懒人上车链 ...

  8. kangle环境liunx一键安装脚本

    CentOS5.x/6.x用以下一键脚本 1.kangle官方脚本 linux下easypanel版本安装及升级 (集成了kangle web 服务器和mysql,仅支持centos 5和centos ...

  9. Linux一键性能测试脚本

    收集一些自用的shell脚本.  测试环境:Centos7.6系统-服务器来自:蓝易云 香港五网CN2网络 ,国内速度优秀,支持VPC内网互联.快照.备份等功能. 移动+联通+电信+教育网+广电-五网 ...

最新文章

  1. Java大数加法乘法减法、36进制加法
  2. vue2.0s中eventBus实现兄弟组件通信
  3. EntityFramework Core自动返回SQL语句
  4. 如何处理Oracle客户端查询乱码问题
  5. 第72课 函数与最大值-2021.10.15
  6. arm linux dma 编程 request_dma,Linux驱动技术技术之一:DMA编程
  7. idea vscode快捷键
  8. 微信读书vscode插件_想用 VSCode 写书?这款插件必须备上!
  9. 01-2制作U盘启动盘--装机助理工具
  10. Sqlite 对数据进行增删改查
  11. Revo Uninstaller专业版
  12. matlab中欠定方程组超定方程组_生辰八字中天干与地支是什么
  13. 9 Greenplum高级使用
  14. 腾讯云服务器登录宝塔面板命令
  15. 提莫攻击的中毒持续时间
  16. 看表情读情绪:AI“察言观色”背后的表情识别数据
  17. (2019春)软件构造:雨课堂试卷(第3章)
  18. python自动化之word操作用python做邀请函
  19. cocos2dx3.0戳青蛙游戏(打地鼠)
  20. 英语orientaljasper鸡血石OrientalJasper单词

热门文章

  1. 中国硫酸铜杀菌剂市场趋势报告、技术动态创新及市场预测
  2. Xshell窗口置顶的问题
  3. 面试中有关UI自动化的那些事 ~
  4. Android usb-serial-for-android驱动库 实现(读卡器rs232串口转usb)插入开发板读取数据
  5. 收藏:NVMe协议基础原理介绍
  6. 制作视频倒放特效,几分钟教会你
  7. p标签是啥意思 php,htmlp标签是什么元素?关于html p标签的定义和作用详解
  8. 游戏数值策划属性篇(二):属性价值评估
  9. c#调用打印机(针式打印机),实现打印
  10. System.InvalidOperationException HResult=0x80131509 Message=ExecuteNonQuery 要求已打开且可用的 Connection