linux一键优化(适用于RedHat以及衍生版)

#!/bin/bash

#set env

export LANG="en_US.UTF-8"

export PATH=$PATH:/bin/sbin:/usr/sbin

#whether root to running user

if [[ $(whoami) != root ]];then

echo "please su - root run the script."

fi

SERVICE=`which service`

CHKCONFIG=`which chkconfig`

. /etc/init.d/functions

#set time

initTime(){

yum -y install ntpdate > /dev/null 2>&1

ntpdate asia.pool.ntp.org > /dev/null 2>&1

echo "*/5 * * * * ntpdate asia.pool.ntp.org >> /var/spool/cron/root 2> /dev/null" > /var/spool/cron/root 2> /dev/null

[ $? -eq 0 ] && action "initTime is ok " /bin/true || exit 1

sleep 3

}

#install packages

initTool(){

yum -y install sysstat net-snmp lrzsz sar gcc gcc-c++ > /dev/vull 2>&1

yum groupinstall "Compatibility libraries" "Base" "Development tools" > /dev/null 2>&1

yum groupinstall "debugging Tools" "Dial-up Networking Support" >/dev/null 2>&1

[ $? -eq 0 ] && action "initTool is ok " /bin/true || exit 1

sleep 3

}

#update the system lang

initI18n(){

cat /etc/sysconfig/i18n > /etc/sysconfig/i18n.bak

echo LANG="en_US.UTF-8" >> /etc/sysconfig/i18n

source /etc/sysconfig/i18n

[ $? -eq 0 ] && action "initI18n is ok.." /bin/true || exit 1

sleep 3

}

#start iptables

initSelinux(){

selinux="`/usr/sbin/getenforce`"

cat /etc/selinux/config > /etc/selinux/config.bak

[ $selinux != "Disabled" ] &&  /usr/sbin/setenforce 0 > /dev/null 2>& 1 || echo "selinux is ok... "

sleep 3

}

#close not need to service

initService(){

export LANG="en_US.UTF-8"

for i in `chkconfig --list | grep -i "3:on" | awk ‘{print $1}‘`;do chkconfig $i off; done

for i in crond network rsyslog sshd;do chkconfig --level 3 $i on;done

[ $? -eq 0 ] && action "initService is ok.." /bin/true || exit 1

sleep 3

}

#youhua for ssh

initSsh(){

cat /etc/ssh/sshd_config > /etc/ssh/sshd_config.bak

useradd user > /dev/null 2>&1

echo "feb803873cc1401f" | passwd --stdin user

sed -i ‘s/#Port 22/Port 22/‘ /etc/ssh/sshd_config

sed -i ‘s/#PermitRootLogin yes/PermitRootLogin yes/‘ /etc/ssh/sshd_config

sed -i ‘s/#PermitEmptyPasswords no/PermitEmptyPasswords no/‘ /etc/ssh/sshd_config

/etc/init.d/sshd stop > /dev/null 2>& 1

[ $? -eq 0 ] || exit 1

/etc/init.d/sshd start > /dev/null 2>& 1

[ $? -eq 0 ] && action "initSsh is ok.." || exit 1

}

#change file inode

openFiles(){

cat /etc/security/limits.conf > /etc/security/limits.conf.bak

echo "ulimit -HSn 65535" >> /etc/security/limits.conf

[ $? -eq 0 ] && action "limit is ok" /bin/true || exit 1

sleep 3

}

#youhua kernel

openKernel(){

modprobe bridge > /dev/null 2>& 1

cat /etc/sysctl.conf > /etc/sysctl.conf.bak

cat >> /etc/sysctl.conf << EOF

########################################################

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.icmp_ignore_bogus_error_responses = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.conf.all.log_martians = 1

net.ipv4.conf.default.log_martians = 1

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.conf.all.secure_redirects = 0

net.ipv4.conf.default.secure_redirects = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

kernel.exec-shield = 1

kernel.randomize_va_space = 1

fs.file-max = 65535

kernel.pid_max = 65536

net.core.netdev_max_backlog = 4096

net.ipv4.tcp_window_scaling = 1

net.ipv4.tcp_max_syn_backlog = 4096

net.ipv4.tcp_max_tw_buckets = 4096

net.ipv4.tcp_keepalive_time = 20

net.ipv4.ip_forward = 0

net.ipv4.tcp_mem = 192000 300000 732000

net.ipv4.tcp_rmem = 51200 131072 204800

net.ipv4.tcp_wmem = 51200 131072 204800

net.ipv4.tcp_keepalive_timenet.ipv4.tcp_keepalive_time = 20

net.ipv4.tcp_keepalive_intvl = 5

net.ipv4.tcp_keepalive_probes = 2

net.ipv4.tcp_orphan_retries = 3

net.ipv4.tcp_syn_retries = 3

net.ipv4.tcp_synack_retries = 3

net.ipv4.tcp_retries2 = 5

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_max_orphans = 2000

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

vm.min_free_kbytes=409600

vm.vfs_cache_pressure=200

vm.swappiness = 40

vm.dirty_expire_centisecs = 1500

vm.dirty_writeback_centisecs = 1000

vm.dirty_ratio = 20

vm.dirty_background_ratio = 100

######################################################

EOF

/sbin/sysctl -p > /dev/null 2>& 1

[ $? -eq 0 ] && action "kernel is ok" /bin/true || exit 1

sleep 1

}

#init_snmp

init_snmp(){

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

sed -i ‘s/#view all/view all/‘ /etc/snmp/snmpd.conf

sed -i ‘s/#access MyROGroup/access MyROGroup/‘ /etc/snmp/snmpd.conf

${CHKCONFIG} snmpd on > /dev/null 2>&1

${SERVICE} snmpd start > /dev/null 2>&1

[ $? -eq 0 ] && action "snmpd is starting" /bin/true || exit 0

}

initdos(){

echo 180 > /proc/sys/net/ipv4/tcp_keepalive_time

echo 2 > /proc/sys/net/ipv4/tcp_keepalive_probes

echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog

echo 1 > /proc/sys/net/ipv4/tcp_synack_retries

echo 1 > /proc/sys/net/ipv4/tcp_syn_retries

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

[ $? -eq 0 ] && action "snmpd is starting" /bin/true || exit 0

}

initTime

initTool

initI18n

initSelinux

initService

initSsh

openFiles

openKernel

init_snmp

initdos

echo "Don‘t forget start your iptables."

时间: 2024-10-18 21:21:52

linux一键优化(适用于RedHat以及衍生版)的相关文章

Linux 一键优化脚本

#!/bin/bash ############################################################## # File Name: /var/www/html/ks_config/optimization.sh # Version: V1.0 # Author: ersa ma # Organization: http://iersa.blog.51cto.com/ # Created Time : 2016-11-14 22:26:08 # Desc

禅道Linux一键安装版

Linux一键安装包内置了apache, php, mysql这些应用程序,只需要下载解压缩即可运行禅道.从7.3版本开始,linux一键安装包分为32位和64位两个包,大家可以根据操作系统的情况下载相应的包. 1.禅道下载 打开如下地址:http://www.zentao.net/download.html,找到要下载的版本,点击进入各平台下载选项: 找到Linux一键安装包,点击下载. 2.安装 将安装包直接解压到/opt目录下,不要解压到别的目录再拷贝到/opt/,因为这样会导致文件的所有

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 性能优化之 IO 子系统 系列 图

http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统性能进行优化时需要考虑的因素,以及一些 IO 性能检测工具. 本文的大部分内容来自 IBM Redbook - Linux Performance and Tuning Guidelines FileSystem VFS(Virtual FileSystem) 虚拟文件系统 文件系统是内核的功能,是

【系统知识点】linux基础&优化命令

Xshell上传下载服务器的文件: yum -y install lrzsz sysstat//安装对应软件 sz XXXX//下载 rz XXXX//上传 创建用户: Useradd vrfxie //创建用户 -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录. -g 用户组 指定用户所属的主用户组. -G 用户组,用户组 指定用户所属的附加组. -s Shell文件 指定用户的登录Shell. #可以设置为/sbin

ORACLE RAC 11g的搭建安装完全手册(适用于RedHat 6.4)

说明:因工作需要,苦练RAC安装.在百度狂搜之后,发现还没有一份完整版的,适合新手搭建RAC 11G环境的安装手册. 本安装步骤手册通过本人根据实践,整理后的真实安装步骤. 在通过对RAC 10g和11g进行安装,发现还有有些区别.在RAC 11g中,RAC已经被整合到oracle grid infrastructure.下面是整个安装步骤,与需要的朋友分享下.      安装环境列表: 1.VMwave 9.0 64位虚拟机 2.安装2台操作系统:RedHat 6.4 64bit 3.orac

Linux基本优化指南

有人看到这个标题的时候,心里一定在嘀咕"linux需要优化吗?".在回答这个问题之前,我先问个问题"何谓优化?",我的理念是,没有最优的,合适自己的才是更优的,把桌面背景调成自己喜欢的颜色,算不算优化呢? 我想上面两个问题都不用回答,如果你有兴趣,可以接着看下去. 这里要说的优化,主要指性能上的.优化是针对自己硬件,针对自己需求来做的,因此不存在适合所有人的优化方法.以我的机器为例,结合Ubuntu讲述. 加快启动速度 如果你常常使用大量的外设,比如说红外.蓝牙.打

更新linux kernel到3.14.10 LTS版后,virt-manager无法识别qemu hypervisor的问题

系统:ubuntu12.04LTS 内核:3.14.10 最近在做一个虚拟机安全的问题,使用KVM来实现虚拟化,昨天重新编译升级内核到3.14.10后,发现virt-manager无法识别qemu hypervisor了,在新建虚拟机的界面卡住了,在/etc/libvirt/qemu下用virsh define ubuntu1204s.xml来定义虚拟机,结果提示无法识别hvm,这个问题在没有升级内核前还不存在. 由于本人的qemu-kvm是自己编译安装的,使用的是sourceforge上下载的

MySQL及其分支或衍生版

MariaDB MariaDB 是一个采用 Maria 存储引擎的 MySQL 分支版本,是由原来 MySQL 的作者 Michael Widenius 创办的公司所开发的免费开源的数据库服务器. Spider in MariaDBKentoku ShibaSlides: Spider_in_MariaDB_20140403.pdf MariaDB 10.0 optimizerSergey Petrunia and Sergei Golubchik, MariaDB developersSlid