linux 服务器初始化优化脚本

linux 服务器初始化优化脚本

----------------------------------------------------------------------------------------

#!/bin/bash

## Writes By Tian
## Ver 1.1.0 at 20180705

#关闭 ctrl + alt + del (linux 6.x )
echo "关闭 ctrl + alt + del ......."
sed -i "s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/" /etc/inittab
sed -i 's/^id:5:initdefault:/id:3:initdefault:/' /etc/inittab
#linux 7 禁止 ctrl + alt + del
rm -f /usr/lib/systemd/system/ctrl-alt-del.target

#以上根据自己的服务器版本设置服务器

#关闭ipv6
echo "关闭IPv6....."
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
/sbin/chkconfig --level 35 ip6tables off
echo -e "\033[031m ipv6 is disabled.\033[0m"

#关闭selinux
echo "关闭SElinux......"
sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
#临时关闭
setenforce 0

echo -e "\033[31m The temporary closure of  selinux, if you need,you must reboot.\033[0m"

#关闭防火墙
echo "关闭iptables....."
service iptables stop
/sbin/chkconfig --live 35 iptables off

echo "关闭 firewalld "
systemctl stop firewalld
systemctl disabled firewalld

#更新yum源
#yum -y install wget
echo "备份yum源......"
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#sys_ver=`cat /etc/redhat-release |awk '{print $3}' | awk -F '.' '{print $1}'`
sys_ver=`cat /etc/redhat-release | awk -F '.' '{print $1}'| awk '{print $4}'`
if [ $sys_ver -eq 6 ];then
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
        yum clean all
        yum makecache
elif [ $sys_ver -eq 7 ];then
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 
        yum clean all
        yum makecache
fi

#安装基础库
echo "安装基础环境和库......"
yum -y install "Development Tools"
yum -y install lsof lrzsz ntpdate gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel 
                  libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel 
                  curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel  openssl openssl-devel nss_ldap 
                  openldap openldap-devel  openldap-clients openldap-servers libxslt-devel
                 libevent-devel ntp  libtool-ltdl bison libtool vim-enhanced

## 以下是可选项目

# in `chkconfig --list | awk '{if ($1~/^$/) {exit 0;} else {print $1}}'`; do chkconfig $i off; done
#打开必备启动项目
#for i in {crond,sshd,network,rsyslog};do chkconfig --level 3 $i on;done

#####  设置时区时给出了2个版本的用法,我没有做判断,根据自己的情况注释掉不用的版本

#设置时区 (linux 6.x)
zone_time(){
#install ntp
yum -y install ntp ntpdate
#time zone
if [ `date +%z` != "+0800" ]; then
     rm -rf /etc/localtime
     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cat > /etc/sysconfig/clock << EOF
ZONE="Asia/Shanghai"
UTC=false
ARC=false
EOF
fi
#start ntpd server
/etc/init.d/ntpd start
chkconfig ntpd on
echo "Present time zone:"`date +%z`
echo -e "\033[31m time zone ok \033[0m"
}
#设置时区 (linux 7.x)
zone_7_time(){

# Install ntp
yum -y install ntp ntpdate
# Time zone
if [ `date +%z` != "+0800" ]; then
rm -f /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cat > /etc/sysconfig/clock << ER
ZONE="Asia/Shanghai"
UTC=false
ARC=false
ER
fi
# Start ntp server
systemctl start ntpd
systemctl enabld ntpd.service
echo "Present time zone:"`date +%z`
echo -e "\033[31m linux 7 time zone ok \033[0m"

}

####### 以上是时区的设置 有2个版本,根据自己的情况做选择。

## 没必要可以不用,美化提示符

#修改Bash提示符字符串
#echo "改Bash提示符字符串......"
#echo 'PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "' >> ~/.bashrc
#source .bashrc

#更改字符集(linux 6.x 的字符集)
/bin/cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak
echo 'LANG="en_US.UTF-8"' >/etc/sysconfig/i18n
#linux 7 的字符集 
Character_install(){
#安装中文支持
yum -y install kde-l10n-Chinese
yum -y reinstall glibc-common

sed -i '/^LANG=/c\LANG="zh_CN.UTF-8"' /etc/locale.conf
source /etc/locale.conf
}

#修改文件打开数
echo "修改文件打开数......"
cat >> /etc/security/limits.conf <<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
echo "ulimit -SHn 65535" >> /etc/rc.local
#优化内核参数
echo "优化内核参数....."
sed -i 's/net.ipv4.tcp_syncookies.*$/net.ipv4.tcp_syncookies = 1/g' /etc/sysctl.conf
cat >> /etc/sysctl.conf << ENDF
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog =  32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024  65535
ENDF
sysctl -p

#优化ssh参数
echo "优化ssh....."
sed -i '/^#UseDNS/s/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
#sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords no/g' /etc/ssh/sshd_config
/etc/init.d/sshd restart

原文地址:http://blog.51cto.com/2475296/2136432

时间: 2024-10-12 22:09:02

linux 服务器初始化优化脚本的相关文章

linux服务器一键优化脚本

服务器一键优化脚本,高亮显示 内容:关闭selinux.时间同步设置.zabbix-agent安装.句柄数调优.常用软件安装.永久静态路由添加 #/bin/bash echo "####start shutdown selinux########" sed -i 's/SELINK=enforcing/SELINK=disabled/' /etc/selinux/config setenforce 0 value_selinux=`getenforce` if [ value_seli

linux系统初始化& 优化总结文档

16条优化汇总 1-不用root管理,以普通用户的名义通过sudo授权管理 2-更改默认的远程连接ssh服务端口,22-->55113,禁止root用户远程连接,只监听内网ip(使用vpn,视情况而定) 3-定时自动更新服务器时间,使其和互联网时间同步 4-配置yum更新源,从国外更新源下载安装软件包 5-关闭selinux及防火墙(生产环境中,如果使用了外部ip一定要调整防火墙) 6-调整文件描述符的数量,进程及文件的打开都会消耗文件描述符 7-定时自动清理邮件目录垃圾文件,防止innodes

CentOS 6.5初始化优化脚本

#!/bin/bash echo "这个是系统初始化脚本,请慎重运行!" input_fun() {     OUTPUT_VAR=$1     INPUT_VAR=""     while [ -z $INPUT_VAR ];do         read -p "$OUTPUT_VAR" INPUT_VAR     done     echo $INPUT_VAR } input_again() { MYHOSTNAME=$(input_fu

linux内核高级优化脚本

linux内核高级优化脚本可以用于hadoop生态圈环境的组件安装 linux内核调优具体的每一步的解释请参考 03搭建cdh备注:使用与centos6和centos7两个系统版本执行 [[email protected] scripts]# pwd /opt/scripts [[email protected] scripts]# ll total 12 -rw-r--r-- 1 root root 3837 Apr 22 14:34 adlinuxopt.sh -rw-r--r-- 1 ro

linux系统初始化配置脚本分享

这个脚本是我借鉴某大神的脚本改写的(其实是赤裸裸的拿来用了),功能主要是实现系统自定义配置,搭建原始的linux环境模板,分享给大家,顺便分享个小诀窍: 复制代码后,请使用"notepad++"或其它编辑器打开此文档, "alt+0"将函数折叠后方便查阅 . 插句话,这个方法我是从雪松大神的[python实例手册] [shell实例手册]学到的,感谢他们的共享精神,一直在维护这两个手册的更新,  分享下着两个手册的地址: [python实例手册] [shell实例手

linux服务器分析优化

一.系统性能分析 1.系统的性能是指操作系统完成任务的有效性.稳定性和响应速度.操作系统完成任务与系统自身设置.网络拓扑结构.路由设备.路由策略.接入设备.物理线路有关.当linux服务器出现问题,应该从应用程序.操作系统.服务器硬件.网络环境等方面排查. 2.性能优化方案提供:影响系统性能最大的因素是应用程序和操作系统两个方面,因为这两个方面出现的问题隐藏性好,不易察觉,而其他方面出现的问题一般会立刻定位到.系统硬件:(1).当硬件属于物理故障,直接更换硬件:(2).硬件性能不满足需求,升级硬

【转】Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、硬盘信息

pom.xml jar 包支持 <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.53</version> </dependency> 代码: package com.spring.bean.annotation; import java.io.BufferedReader; import

Linux服务器基本优化

1.不用root管理,以普通用户的名义通过sudo授权管理. 2.更改默认的远程连接SSH服务端口,禁止root用户远程连接,更改只监听在内网地址.[[email protected] ~]# vim /etc/ssh/sshd_configPort 51898                                  ##监听端口,端口范围(0-65535,最好是大于1024的端口)ListenAddress 192.168.1.128                 ##监听地址,为

Linux 服务器使用shell脚本 实现 间隔N秒访问url

#!/bin/bash n=0 max=11 while(($n<max)) do curl -sS --connect-timeout 1000 -m 60000 'http://wx.com/inex' //访问url n=($n+1) sleep 5 done 脚本写好后将添加到linux服务器计划任务中,设置成1分钟执行一次即可 原文地址:https://www.cnblogs.com/pxjbk/p/12357510.html