系統初始化腳步

yhj20041128001發表於2012-06-06
#!/bin/bash 

  1. chkconfig --list | awk '{print "chkconfig " $1 " off"}' > /tmp/chkconfiglist.sh;/bin/sh /tmp/chkconfiglist.sh;rm -rf /tmp/chkconfiglist.sh 
  2. chkconfig  crond on 
  3. chkconfig  irqbalance on 
  4. chkconfig  network on 
  5. chkconfig  sshd on 
  6. chkconfig  syslog on 
  7. chkconfig  iptables on 
  8. setenforce 0 
  9. sed -i 's/^SELINUX=.*$/SELINUX=disabled/g' /etc/sysconfig/selinux 
  10. #修改啟動模式 
  11. sed -i 's/id:.*$/id:3:initdefault:/g' /etc/inittab 
  12. #關閉不需要的tty 
  13. sed -i 's/3:2345:respawn/#3:2345:respawn/g' /etc/inittab 
  14. sed -i 's/4:2345:respawn/#4:2345:respawn/g' /etc/inittab 
  15. sed -i 's/5:2345:respawn/#5:2345:respawn/g' /etc/inittab 
  16. sed -i 's/6:2345:respawn/#6:2345:respawn/g' /etc/inittab 
  17. sed -i 's/ca::ctrlaltdel/#ca::ctrlaltdel/g' /etc/inittab 
  18. /sbin/init q 
  19. #修改PS1 
  20. echo 'PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[35;40m\]\W\[\e[0m\]]\\$ \[\e[33;40m\]">> /etc/profile 
  21. #修改shell命令的history記錄個數 
  22. sed -i 's/HISTSIZE=.*$/HISTSIZE=100/g' /etc/profile 
  23. source /etc/profile 
  24. #記錄每個命令 
  25. mkdir /root/logs 
  26. echo "export PROMPT_COMMAND='{ msg=\$(history 1 | { read x y; echo \$y; });user=\$(whoami); echo \$(date \"+%Y-%m-%d %H:%M:%S\"):\$user:\`pwd\`/:\$msg ---- \$(who am i); } >> \$HOME/logs/\`hostname\`.\`whoami\`.history-timestamp'>> /root/.bash_profile 
  27. #密碼輸錯5次鎖定180s 
  28. sed -i '4a auth        required      pam_tally2.so deny=5 unlock_time=180' /etc/pam.d/system-auth 
  29. #alias設定 
  30. sed -i '7a alias vi=vim' /root/.bashrc 
  31. #調整Linux的最大檔案開啟數 
  32. echo "* soft nofile 60000" >> /etc/security/limits.conf 
  33. echo "* hard nofile 65535" >> /etc/security/limits.conf 
  34. echo "ulimit -SH 65535" >> /etc/rc.local 
  35. #關閉ipv6 
  36. sed -i 's/NETWORKING_IPV6=.*$/NETWORKING_IPV6=no/g' /etc/sysconfig/network 
  37. #網路引數進行調整 
  38. sed -i 's/net.ipv4.tcp_syncookies.*$/net.ipv4.tcp_syncookies = 1/g' /etc/sysctl.conf 
  39. echo 'net.ipv4.tcp_tw_reuse = 1>> /etc/sysctl.conf 
  40. echo 'net.ipv4.tcp_tw_recycle = 1>> /etc/sysctl.conf 
  41. echo 'net.ipv4.ip_local_port_range = 1024 65000' >> /etc/sysctl.conf 
  42. sysctl -p 
  43. #校正時間 
  44. /usr/sbin/ntpdate ntp.api.bz 
  45. echo '*/5 * * * * /usr/sbin/ntpdate ntp.api.bz' > /var/spool/cron/root;chmod 600 /var/spool/cron/root 
  46. /sbin/service crond restart



在Centos5.5_x64下已通過):
#!/bin/bash
# Created by kerryhu
# MAIL:king_819@163.com
# BLOG:http://kerry.blog.51cto.com
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Centos System init ===                |
+--------------------------------------------------------------+
+--------------------------by kerry----------------------------+
EOF

#set ntp
yum -y install ntp
echo "* 3 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /etc/crontab
service crond restart
#set ulimit
echo "ulimit -SHn 102400" >> /etc/rc.local
#set locale
#true > /etc/sysconfig/i18n
#cat >>/etc/sysconfig/i18n<#LANG="zh_CN.GB18030"
#SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
#SYSFONT="latarcyrheb-sun16"
#EOF
#set sysctl
true > /etc/sysctl.conf
cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
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_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65535
EOF
/sbin/sysctl -p
echo "sysctl set OK!!"
#close ctrl+alt+del
sed -i "s/ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/#ca::ctrlaltdel:\/sbin\/shutdown -t3 -r now/" /etc/inittab
#set purview
chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/group
chmod 600 /etc/gshadow
#disable ipv6
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Disable IPV6 ===                      |
+--------------------------------------------------------------+
EOF
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
/sbin/chkconfig --level 35 ip6tables off
echo "ipv6 is disabled!"
#disable selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
echo "selinux is disabled,you must reboot!"
#vim
sed -i "8 s/^/alias vi='vim'/" /root/.bashrc
echo 'syntax on' > /root/.vimrc
#zh_cn
sed -i -e 's/^LANG=.*/LANG="en"/'   /etc/sysconfig/i18n
#init_ssh
ssh_cf="/etc/ssh/sshd_config"
sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cf
#sed -i "s/#Port 22/Port 65535/" $ssh_cf
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf
#client
sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf
service sshd restart
echo "ssh is init is ok.............."
#chkser
#tunoff services
#--------------------------------------------------------------------------------
cat << EOF
+--------------------------------------------------------------+
|         === Welcome to Tunoff services ===                   |
+--------------------------------------------------------------+
EOF
#---------------------------------------------------------------------------------
for i in `ls /etc/rc3.d/S*`
do
              CURSRV=`echo $i|cut -c 15-`
echo $CURSRV
case $CURSRV in
          crond | irqbalance | microcode_ctl | network | random | sshd | syslog | local )
      echo "Base services, Skip!"
      ;;
      *)
          echo "change $CURSRV to off"
          chkconfig --level 235 $CURSRV off
          service $CURSRV stop
      ;;
esac
done
echo "service is init is ok.............."



#!/bin/bash

# -------------------------------------------------------------------------------
# Filename:    system_info.sh
# Revision:    1.1
# Date:        2008/12/30
# Author:      Ajian
# Email:       ajian521#gmail.com
# Website:     www.ohlinux.com
# Description: get the infomation of the system ,eg: memory,cpu ,etc
# Notes:       can check one or many sites
# -------------------------------------------------------------------------------
# Copyright:   2009 (c) Ajian
# License:     GPL
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# -------------------------------------------------------------------------------
#Version 1.1
#get the infomation about , hostname OS CPU CPU_num CPU_Phy  Mem_inuse Mem_Phy disk disk_inuse
#
Hostname=`hostname | cut -d. -f1`
#echo $Hostname
if [ ! -f /etc/slackware-version ]
then
S=`cat /etc/issue | head -1`
else
S=`cat /etc/slackware-version | head -1`
fi

#echo $OS
CPU=`cat /proc/cpuinfo | grep "model name" | head -1 | cut -d: -f2`
#echo $CPU
CPU_Phy=`cat /proc/cpuinfo | grep phy | sort | uniq | wc -l`
#echo $CPU_Phy
CPU_num=`cat /proc/cpuinfo | grep ^process | wc -l`
#echo $CPU_num
CPU_core=$(( $CPU_num / $CPU_Phy ))
#echo $CPU_core

Mem_inuse=`free -m | grep Mem | awk '{print $2}'`
Mem_Phy=`dmidecode -t 17 | grep "Size" | cut -d: -f2 | sort | uniq -c | awk '{printf "%s ",$0}'`
#echo $Mem_inuse
#echo $Mem_Phy
Disk=`fdisk -l | grep Disk | grep GB | cut -d, -f1 | cut -d/ -f3 | awk '{printf "%s  ",$0}'`
#echo $Disk
Disk_inuse=`df -h | grep ^/dev | awk '{print $1,$6,$2}' |  awk '{printf "%s  ",$0}'`
#echo $Disk_inuse

echo -e "$Hostname\t$OS\t$CPU\t$CPU_Phy*$CPU_core\t$Mem_inuse MB\t$Mem_Phy\t$Disk\t$Disk_inuse" > ; /tmp/systeminfo.txt

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23757700/viewspace-732009/,如需轉載,請註明出處,否則將追究法律責任。

相關文章