標籤:最佳化指令碼
#!/bin/bash#by caosm #time 20161122ipaddr(){echo "===============配置ip地址以及主機名稱===========" read -p "請輸入你的ip地址:" IPADDR read -p "請輸入你的子網路遮罩:" NETMASK read -p "請輸入你的網關地址:" GATEWAY read -p "請輸入你的DNS1:" DNS1sed -i ‘/^IPADDR.*$/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘/^NETMASK.*$/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘/^GATEWAY.*$/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘/^DNS1.*$/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘s/ONBOOT=no/ONBOOT=yes/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘s/BOOTPROTO=dhcp/BOOTPROTO=static/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0echo "IPADDR=$IPADDR" >> /etc/sysconfig/network-scripts/ifcfg-eth0echo "NETMASK=$NETMASK" >> /etc/sysconfig/network-scripts/ifcfg-eth0echo "GATEWAY=$GATEWAY" >> /etc/sysconfig/network-scripts/ifcfg-eth0echo "DNS1=$DNS1" >> /etc/sysconfig/network-scripts/ifcfg-eth0 service network restart >&/dev/nullping -c 3 -w 5 www.baidu.com >&/dev/nullif [[ $? != 0 ]];then echo " 不能上網請檢查配置 " fiecho "================================================="echo "" sleep 2}#HOSTNAMEhostname(){echo "==================配置主機名稱===================="read -p "請輸入你的主機名稱:" HOSTNAMEsed -i ‘3,$d‘ /etc/hostssed -i ‘2,$d‘ /etc/sysconfig/networksed -i ‘/^HOSTNAME.*$/d‘ /etc/sysconfig/network-scripts/ifcfg-eth0sed -i ‘/^HOSTNAME.*$/d‘ /etc/hostsecho "HOSTNAME=$HOSTNAME" >> /etc/sysconfig/networkIPADDR=`ip a | grep "global eth0" | awk ‘{print $2}‘ | awk -F "/" ‘{print $1}‘`echo "$IPADDR $HOSTNAME" >>/etc/hosts#echo -n " $HOSTNAME" >> /etc/hostsecho "===================================================="echo "" sleep 2}# yum_163configYum(){echo "================更新為國內YUM源==================" cd /etc/yum.repos.d/ \cp CentOS-Base.repo CentOS-Base.repo.$(date +%F) ping -c 1 www.163.com>/dev/null if [ $? -eq 0 ];then wget http://mirrors.163.com/.help/CentOS6-Base-163.repo else echo "無法串連網路。" exit $? fi \cp CentOS-Base-sohu.repo CentOS-Base.repoyum clean all#yum makecache >& /dev/nullaction "配置國內YUM完成" /bin/trueecho "================================================="echo "" sleep 2}#time syncsyncSysTime(){echo "================配置時間同步=====================" \cp /var/spool/cron/root /var/spool/cron/root.$(date +%F) 2>/dev/null NTPDATE=`grep ntpdate /var/spool/cron/root 2>/dev/null |wc -l` if [ $NTPDATE -eq 0 ];then echo "#times sync by lee at $(date +% F)" >>/var/spool/cron/root echo "*/5 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1" >> /var/spool/cron/root fi echo ‘#crontab -l‘ crontab -l#action "配置時間同步完成" /bin/trueecho "================================================="echo "" sleep 2}#Charset zh_CN.UTF-8initI18n(){echo "================更改為中文字元集=================" \cp /etc/sysconfig/i18n /etc/sysconfig/i18n.$(date +%F) echo "LANG="zh_CN.UTF-8"" >/etc/sysconfig/i18n source /etc/sysconfig/i18n echo ‘#cat /etc/sysconfig/i18n‘ grep LANG /etc/sysconfig/i18n#action "更改字元集zh_CN.UTF-8完成" /bin/trueecho "================================================="echo "" sleep 2}#Close Selinux and IptablesFirewall(){echo "============禁用SELINUX及關閉防火牆==============" \cp /etc/selinux/config /etc/selinux/config.$(date +%F) /etc/init.d/iptables stop sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g‘ /etc/selinux/config setenforce 0 /etc/init.d/iptables status echo ‘#grep SELINUX=disabled /etc/selinux/config ‘ grep SELINUX=disabled /etc/selinux/config echo ‘#getenforce ‘ getenforce #action "禁用selinux及關閉防火牆完成" /bin/trueecho "================================================="echo "" sleep 2}#menu2menu2(){while truedoclearcat << EOF----------------------------------------|****Please Enter Your Choice:[0-6]****|----------------------------------------(1) 配置ip地址以 (2) 配置為國內YUM源鏡像(3) 設定時間同步(4) 配置中文字元集(5) 禁用SELINUX及關閉防火牆(6) 配置主機名稱(0) 返回上一級菜單EOFread -p "Please enter your Choice[0-6]: " input2case "$input2" in 0) clear break ;; 1) ipaddr ;; 2) configYum ;; 3) syncSysTime ;; 4) initI18n ;; 5) Firewall ;; 6) hostname ;; *) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 3 -1 1` do echo -ne "\b\b$i"; sleep 1; done clearesacdone}#menuwhile truedoclearecho "========================================"echo ‘ Linux Optimization ‘ echo "========================================"cat << EOF|-----------System Infomation-----------| DATE :$DATE| HOSTNAME :$HOSTNAME| USER :$USER| IP :$IPADDR| DISK_USED :$DISK_SDA| CPU_AVERAGE:$cpu_uptime----------------------------------------|****Please Enter Your Choice:[1-3]****|----------------------------------------(1) 一鍵最佳化(2) 自訂最佳化(3) 退出EOF#choiceread -p "Please enter your choice[0-3]: " input1case "$input1" in1) ip_hostname configYum syncSysTime initI18n initFirewall hostname ;;2) menu2 ;;3) clear break ;;*) echo "----------------------------------" echo "| Warning!!! |" echo "| Please Enter Right Choice! |" echo "----------------------------------" for i in `seq -w 3 -1 1` do echo -ne "\b\b$i"; sleep 1; done clearesac done
本文出自 “天真無邪” 部落格,轉載請與作者聯絡!
系統安裝簡易最佳化指令碼