該腳本是我經常使用的系統安裝後執行腳本,包括開機啓動服務、內核、SSH優化。linux
#!/bin/sh # 服務優化,(sshd、network、crond、syslog、rsyslog)服務保持默認開機啓動 ServiceList=$(chkconfig --list | grep '0' | awk '{print $1}' | grep -Ev 'sshd|network|crond|syslog') for Service in $ServiceList do /etc/init.d/$Service stop chkconfig --level 0123456 $Service off done # 內核參數調優 grep -q "vm.swappiness" /etc/sysctl.conf || cat >> /etc/sysctl.conf << EOF ######################################## vm.swappiness = 0 net.core.rmem_default = 262144 net.core.rmem_max = 16777216 net.core.wmem_default = 262144 net.core.wmem_max = 16777216 net.core.somaxconn = 262144 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_max_tw_buckets = 10000 net.ipv4.ip_local_port_range = 1024 65500 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_mem = 786432 1048576 1572864 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 fs.inotify.max_user_watches = 1048576 EOF sysctl -p grep -q "* - nofile" /etc/security/limits.conf || cat >> /etc/security/limits.conf << EOF ######################################## * - nofile 1048576 * - nproc 65536 * - stack 1024 EOF grep -q "ulimit -n" /etc/profile || cat >> /etc/profile << EOF ######################################## ulimit -n 1048576 ulimit -u 65536 ulimit -s 1024 alias grep='grep --color=auto' export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " EOF # 禁用並關閉selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config setenforce 0 # 優化SSH sed -i 's/.*UseDNS yes/UseDNS no/' /etc/ssh/sshd_config sed -i 's/.*GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config /etc/init.d/sshd restart # 腳本目錄加入PATH環境變量 grep -q "/App/script" $HOME/.bash_profile || cat >> $HOME/.bash_profile << EOF ######################################## export PATH=/App/script:\$PATH EOF mkdir -p /App/script /App/src # 掛載tmpfs文件系統 mount --bind /dev/shm /tmp grep -q "/dev/shm" /etc/rc.local || echo "/bin/mount --bind /dev/shm /tmp" >> /etc/rc.local