#!/bin/bash ########################################### # # functions: 1:Initial System (RHEL 4.8) # 2:Initial System (Centos 5.6) # 3:Initial Oracl # 4:Websphere Profile Control # 5:Pureftpd server Control # 6:PXE Push server Control # author: Hu ShuangFeng # version 1.0: 2011-04-12. # version 2.0: 2011-05-04. # ########################################### while echo "===================================" do printf "What features you want to use? /n /n1:Initial System (RHEL 4.8) /n2:Initial System (Centos 5.6) /n3:Initial Oracle /n4:Websphere Profile Control /n5:Pureftpd server Control /n6:PXE Push server Control /n9/Q:Exit /n /n===================================/nEnter Number: " ; read NNN while [ $NNN != 1 ]&&[ $NNN != 2 ]&&[ $NNN != 3 ]&&[ $NNN != 4 ]&&[ $NNN != 5 ]&&[ $NNN != 6 ]&&[ $NNN != 9 ]&&[ $NNN != q ]&&[ $NNN != Q ] do printf "Please enter the correct option :" ; read NNN done case "$NNN" in 1) ################################# #### Init System ####### ################################# # Funtion Initial System # Author Hu Shuangfeng 2011-4-1 # Version 1.1 Date Modified 2011-4-8 #Path pwd > /tmp/pwd #Funtion Off Services. for i in `chkconfig --list |awk 'NR==1 {print $1}'` do for ii in `chkconfig --list |awk '/'"$i"'/,/zebra/ {print $1}'` do SERVERS=`echo $ii |egrep -v "acpid|arpwatch|irqbalance|sshd|network|cpuspeed|crond|syslog|sysstat|snmpd|xfs"` chkconfig $SERVERS off --levels 3 chkconfig $SERVERS off --levels 5 done done #Synchronization time ntpdate -u 195.13.1.153 #Add DNS Server echo "nameserver 202.106.0.20" > /etc/resolv.conf #Modify updatedb.conf cp /etc/updatedb.conf /etc/updatedb.conf_org echo "DAILY_UPDATE=no" >> /etc/updatedb.conf #Modify the kernel parameters cp /etc/sysconfig/iptables-config /etc/sysconfig/iptables-config.org cd /etc/sysconfig/ sed 's/IPTABLES_MODULES=/"/"/IPTABLES_MODULES=/"ip_conntrack ip_conntrack_netbios_ns /"/' iptables-config.org > iptables-config cp /etc/sysctl.conf /etc/sysctl.conf.org echo "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800" >> /etc/sysctl.conf echo "net.ipv4.ip_conntrack_max = 16777216" >> /etc/sysctl.conf echo "net.ipv4.netfilter.ip_conntrack_max = 16777216" >> /etc/sysctl.conf #Modify limlt.conf cp /etc/security/limits.conf /etc/security/limits.conf.org echo "* soft nofile 204800" >> /etc/security/limits.conf echo "* hard nofile 204800" >> /etc/security/limits.conf #Create Directory mkdir /usr/local/src/tarbag mkdir /usr/local/src/software mkdir /usr/local/scripts #Add crontab echo "00 00 * * * /usr/sbin/ntpdate -u 195.13.1.153" >> /var/spool/cron/root #Add Synchronization time to rc.local cp /etc/rc.local /etc/rc.local_org echo "/usr/sbin/ntpdate -u 195.13.1.153" >> /etc/rc.local #Close iptables service iptables stop chkconfig iptables off #Close selinux setenforce 0 cp /etc/selinux/config /etc/selinux/config_org. cat </etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted HHH #Install ethstatus cd /usr/local/src/tarbag/ wget http://ubuntu.srt.cn/ubuntu/pool/universe/e/ethstatus/ethstatus_0.4.3.tar.gz tar zxvf ethstatus_0.4.3.tar.gz -C ../software cd ../software/ethstatus-0.4.3 make && make install cd `cat /tmp/pwd` #Install yum #wget rpm software cd /usr/local/src/tarbag/ wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/python-elementtree-1.2.6-5.el4.centos.x86_64.rpm wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/python-sqlite-1.1.7-1.2.1.x86_64.rpm wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/python-urlgrabber-2.9.8-2.noarch.rpm wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/sqlite-3.3.6-2.x86_64.rpm wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/yum-2.4.3-4.el4.centos.noarch.rpm wget http://mirrors.163.com/centos/4.8/os/x86_64/CentOS/RPMS/yum-metadata-parser-1.0-8.el4.centos.x86_64.rpm wget ftp://ftp.isu.edu.tw/pub/Linux/CentOS/4.8/os/ia64/CentOS/RPMS/centos-yumconf-4-4.5.noarch.rpm #Install yum rpm -ivh centos-yumconf-4-4.5.noarch.rpm rpm -ivh sqlite-3.3.6-2.x86_64.rpm rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm rpm -ivh python-urlgrabber-2.9.8-2.noarch.rpm rpm -ivh python-elementtree-1.2.6-5.el4.centos.x86_64.rpm rpm -ivh yum-metadata-parser-1.0-8.el4.centos.x86_64.rpm rpm -ivh yum-2.4.3-4.el4.centos.noarch.rpm #Configure yum cd /etc/yum.repos.d/ rm -rf CentOS-Base.repo cat < base.repo # CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for CentOS. # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-/$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=/$releasever&arch=/$basearch&repo=os baseurl=http://centos.ustc.edu.cn/centos/4/os//$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #released updates [updates] name=CentOS-/$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=/$releasever&arch=/$basearch&repo=updates baseurl=http://centos.ustc.edu.cn/centos/4/updates//$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #packages used/produced in the build but not released [addons] name=CentOS-/$releasever - Addons #mirrorlist=http://mirrorlist.centos.org/?release=/$releasever&arch=/$basearch&repo=addons baseurl=http://centos.ustc.edu.cn/centos/4/addons//$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #additional packages that may be useful [extras] name=CentOS-/$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=/$releasever&arch=/$basearch&repo=extras baseurl=http://centos.ustc.edu.cn/centos/4/extras//$basearch/ gpgcheck=1 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-/$releasever - Plus #mirrorlist=http://mirrorlist.centos.org/?release=/{1}arch=/$basearch&repo=centosplus baseurl=http://centos.ustc.edu.cn/centos/4/centosplus//$basearch/ gpgcheck=1 enabled=0 gpgkey=http://centos.ustc.edu.cn/centos/RPM-GPG-KEY-CentOS-4 EOF #Add yum cd `cat /tmp/pwd` rpm --import http://ftp.riken.jp/Linux/centos/4.8/os/x86_64/RPM-GPG-KEY-centos4 yum clean all #Install Nrpe #Add user useradd nagios -s /sbin/nologin #Wget nrpe cd /usr/local/src/tarbag wget http://down1.chinaunix.net/distfiles/nagios-plugins-1.4.3.tar.gz wget http://admin.ooopic.com/soft/linux/nrpe-2.12.tar.gz #Add init.d nrpe cat </etc/init.d/nrpe #chkconfig:2345 88 38 #Description:this is a scripts for nrpe pid=/`ps aux |grep nrpe |grep -v grep | grep -v bash | cut -c10-15/` function start(){ if [ "/$pid" = "" ]; then echo -n "starting nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" != "" ];then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[31m[fail]/n" echo "nrpe already start" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done exit 1 else /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d >/dev/null 2>1& echo -n "starting nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" != "" ];then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[32m[ ok ]/n" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done fi } function stop(){ if [ "/$pid" != "" ]; then /bin/kill -9 /$pid echo -n "stoping nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" == "" ]; then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[32m[ ok ]/n" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done else echo -n "stoping nrpe" time=100 while [ /$time -gt 0 ] do if [ "$pid" == "" ]; then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[31m[fail]" echo "nrpe already stop" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 continue fi done exit 1 fi } case "/$1" in start) start ;; stop) stop ;; restart) /$0 stop /$0 start ;; *) echo "Usage:/$0(start|stop|restart)" ;; esac exit 0 EEE #Install cd /usr/local/src/tarbag tar -zxvf nagios-plugins-1.4.14.tar.gz -C ../software/ cd ../software/nagios-plugins-1.4.14/ ./configure --prefix=/usr/local/nagios make make install cd /usr/local/src/tarbag tar zxvf nrpe-2.12.tar.gz -C ../software/ cd ../software/nrpe-2.12/ ./configure --prefix=/usr/local/nagios make all make install-plugin make install-daemon make install-daemon-config chmod 777 /etc/init.d/nrpe chkconfig nrpe on service nrpe start ####################### echo "===================================" echo "Please reboot your system server" echo "===================================" ;; 2) ################################# ####Init System (Centos 5.6)##### ################################# # Funtion Initial System # Author Hu Shuangfeng 2011-4-1 # Version 1.1 Date Modified 2011-4-8 #Path pwd > /tmp/pwd #Funtion Off Services. for i in `chkconfig --list |awk 'NR==1 {print $1}'` do for ii in `chkconfig --list |awk '/'"$i"'/,/zebra/ {print $1}'` do SERVERS=`echo $ii |egrep -v "acpid|arpwatch|irqbalance|sshd|network|cpuspeed|crond|syslog|sysstat|snmpd|xfs"` chkconfig $SERVERS off --levels 3 chkconfig $SERVERS off --levels 5 done done #Synchronization time ntpdate -u 195.13.1.153 #Add DNS Server echo "nameserver 202.106.0.20" > /etc/resolv.conf #Modify updatedb.conf cp /etc/updatedb.conf /etc/updatedb.conf_org echo "DAILY_UPDATE=no" >> /etc/updatedb.conf #Modify the kernel parameters cp /etc/sysconfig/iptables-config /etc/sysconfig/iptables-config.org cd /etc/sysconfig/ sed 's/IPTABLES_MODULES=/"/"/IPTABLES_MODULES=/"ip_conntrack ip_conntrack_netbios_ns /"/' iptables-config.org > iptables-config cp /etc/sysctl.conf /etc/sysctl.conf.org echo "net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 1800" >> /etc/sysctl.conf echo "net.ipv4.ip_conntrack_max = 16777216" >> /etc/sysctl.conf echo "net.ipv4.netfilter.ip_conntrack_max = 16777216" >> /etc/sysctl.conf #Modify limlt.conf cp /etc/security/limits.conf /etc/security/limits.conf.org echo "* soft nofile 204800" >> /etc/security/limits.conf echo "* hard nofile 204800" >> /etc/security/limits.conf #Create Directory mkdir /usr/local/src/tarbag mkdir /usr/local/src/software mkdir /usr/local/scripts #Add crontab echo "00 00 * * * /usr/sbin/ntpdate -u 195.13.1.153" >> /var/spool/cron/root #Add Synchronization time to rc.local cp /etc/rc.local /etc/rc.local_org echo "/usr/sbin/ntpdate -u 195.13.1.153" >> /etc/rc.local #Close iptables service iptables stop chkconfig iptables off #Close selinux setenforce 0 cp /etc/selinux/config /etc/selinux/config_org. cat </etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted HHH #Install ethstatus cd /usr/local/src/tarbag/ wget http://ubuntu.srt.cn/ubuntu/pool/universe/e/ethstatus/ethstatus_0.4.3.tar.gz tar zxvf ethstatus_0.4.3.tar.gz -C ../software cd ../software/ethstatus-0.4.3 make && make install cd `cat /tmp/pwd` yum clean all yum list #Install Nrpe #Add user useradd nagios -s /sbin/nologin #Wget nrpe cd /usr/local/src/tarbag wget http://down1.chinaunix.net/distfiles/nagios-plugins-1.4.3.tar.gz wget http://admin.ooopic.com/soft/linux/nrpe-2.12.tar.gz #Add init.d nrpe cat </etc/init.d/nrpe #chkconfig:2345 88 38 #Description:this is a scripts for nrpe pid=/`ps aux |grep nrpe |grep -v grep | grep -v bash | cut -c10-15/` function start(){ if [ "/$pid" = "" ]; then echo -n "starting nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" != "" ];then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[31m[fail]/n" echo "nrpe already start" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done exit 1 else /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d >/dev/null 2>1& echo -n "starting nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" != "" ];then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[32m[ ok ]/n" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done fi } function stop(){ if [ "/$pid" != "" ]; then /bin/kill -9 /$pid echo -n "stoping nrpe" pid=/`ps aux | grep nrpe | grep -v grep | grep -v bash | cut -c10-15/` time=100 while [ /$time -gt 0 ] do if [ "/$pid" == "" ]; then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[32m[ ok ]/n" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 pid=/`ps aux |grep nrpe |grep -v grep | cut -c10-15/` continue fi done else echo -n "stoping nrpe" time=100 while [ /$time -gt 0 ] do if [ "$pid" == "" ]; then i=10 while [ /$i -gt 0 ] do echo -n "." sleep 0.1 i=/`expr /$i - 1/` done echo -e " /033[31m[fail]" echo "nrpe already stop" exit 0 else time=/`expr /$time - 1/` echo "." usleep 10 continue fi done exit 1 fi } case "/$1" in start) start ;; stop) stop ;; restart) /$0 stop /$0 start ;; *) echo "Usage:/$0(start|stop|restart)" ;; esac exit 0 EEE #Install cd /usr/local/src/tarbag tar -zxvf nagios-plugins-1.4.14.tar.gz -C ../software/ cd ../software/nagios-plugins-1.4.14/ ./configure --prefix=/usr/local/nagios make make install cd /usr/local/src/tarbag tar zxvf nrpe-2.12.tar.gz -C ../software/ cd ../software/nrpe-2.12/ ./configure --prefix=/usr/local/nagios make all make install-plugin make install-daemon make install-daemon-config chmod 777 /etc/init.d/nrpe chkconfig nrpe on service nrpe start ####################### echo "===================================" echo "Please reboot your system server" echo "===================================" ;; 3) ################################# #### Init oracle ####### ################################# # Funtion: Init oracle install script # Author: Hu Shuangfeng 2011-4-1 # Version: 1.0 #Install dependencies yum install -y glibc.x86_64 glibc.i686 glibc-common.x86_64 glibc-devel.x86_64 glibc-devel.i386 glibc-headers.x86_64 glibc-kernheaders.x86_64 gcc.x86_64 gcc-c++.x86_64 compat-gcc-32.x86_64 compat-gcc-32-c++.x86_64 compat-libgcc-296.i386 libstdc++.x86_64 libstdc++.i386 libstdc++-devel.x86_64 make.x86_64 gtk+.i386 gtk+.x86_64 gnome-libs.x86_64 tcp_wrappers.i386 tcp_wrappers.x86_64 ORBit.x86_64 ORBit2.i386 ORBit2.x86_64 libpng10.i386 libpng10.x86_64 libungif.x86_64 libungif.i386 imlib.x86_64 imlib.i386 setarch.x86_64 libaio.i386 audiofile.x86_64 audiofile.i386 esound.x86_64 esound.i386 #Modify /etc/sysctl.conf MEM=`df -k | grep none | awk '{print $2}'` BMEM=`echo $MEM*1024 | bc` cat <> /etc/sysctl.conf kernel.shmall = 44194304 kernel.shmmax = $BMEM kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 EOF #Modify /etc/security/limits.conf cat <>/etc/security/limits.conf oracle hard nofile 65536 oracle soft nofile 65536 oracle hard nproc 16384 oracle soft nproc 16384 LLL #Gcc version of down-conversion cd /usr/bin/ mv gcc gcc.script.bak mv g++ g++.script.bak ln -s gcc32 gcc ln -s g++32 g++ #Add User and Directory groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle echo "oracle" | passwd --stdin oracle mkdir -p /opt/oracle/product/9.2.0 chown -R oracle:oinstall /opt/oracle #Modify /home/oracle/.bash_profile SID=mtdb cat <> /home/oracle/.bash_profile export LD_ASSUME_KERNEL=2.4.1 export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/9.2.0 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH export ORACLE_SID= $SID export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib export NLS_LANG=american_america.ZHS16GBK export LANG=en_US.UTF-8 HHH #Over echo "" echo "" echo "" echo "Init oracle install is complete ! Switch Oracle user, and requests to install the system language to English!!!" echo "" echo "" echo "" ;; 4) ################################# #### WAS CRTL ####### ################################# # Functions: Start and Stop Was app server script # Author: Hu ShuangFeng # Version 1.0: 2011-03-30. # Version 1.1: 2011-04-11. Add create appserver Features # Version 1.2: 2011-04-12 Add delete appserver ,list appserver Features #App server path S1=/opt/IBM/WebSphere/AppServer/profiles/AppSrv01 S2=/opt/IBM/WebSphere/AppServer/profiles/server2 S3=/opt/IBM/WebSphere/AppServer/profiles/server3 S4=/opt/IBM/WebSphere/AppServer/profiles/server4 #Command start and stop Start=/bin/startServer.sh Stop=/bin/stopServer.sh #User and password USERNAME=admin PASSWORD=admin #Create app server MANAGE=/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh TEMPLATEPATH=/opt/IBM/WebSphere/AppServer/profileTemplates/default/ PROFILEPATH=/opt/IBM/WebSphere/AppServer/profiles/ ############################################## #### script command ############ ############################################## while echo "===================================" do printf "What Are You Doing? /n /n1:Start All Server! /n2:Stop All Server! /n3:Start Single Server! /n4:Stop Single Server! /n5:Create App Profile ! /n6:Delete APP Profile ! /n7:ListProfiles ! /n9/Q:Exit /n /n===================================/nEnter number: " ; read number while [ $number != 1 ]&&[ $number != 2 ]&&[ $number != 3 ]&&[ $number != 4 ]&&[ $number != 5 ]&&[ $number != 6 ]&&[ $number != 7 ]&&[ $number != 9 ]&&[ $number != q ]&&[ $number != Q ] do printf "Please enter the correct option :" ; read number done case "$number" in 1) $S1$Start server1 > /dev/null 2>&1 & echo -n "Starting server1" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S2$Start server1 > /dev/null 2>&1 & echo -n "Starting server2" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S3$Start server1 > /dev/null 2>&1 & echo -n "Starting server3" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S4$Start server1 > /dev/null 2>&1 & echo -n "Starting server4" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" echo "All server started successfully!!!" ;; 2) $S1$Stop server1 -username $USERNAME -password $PASSWORD > /dev/null 2>&1 & echo -n "Shutting down server1" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S2$Stop server1 -username $USERNAME -password $PASSWORD > /dev/null 2>&1 & echo -n "Shutting down server2" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S3$Stop server1 -username $USERNAME -password $PASSWORD > /dev/null 2>&1 & echo -n "Shutting down server3" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" $S4$Stop server1 -username $USERNAME -password $PASSWORD > /dev/null 2>&1 & echo -n "Shutting down server4" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" echo "All server stopped successfully!!!" ;; 3) printf "Please enter the name of the service need to start :" ; read name case "$name" in server1) $S1$Start server1 echo -n "Starting server1" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server2) $S2$Start server1 echo -n "Starting server2" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server3) $S3$Start server1 echo -n "Starting server3" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server4) $S4$Start server1 echo -n "Starting server4" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" esac ;; 4) printf "Please enter the name of the service need to stop :" ; read name case "$name" in server1) $S1$Stop server1 -username $USERNAME -password $PASSWORD echo -n "Shutting down server1" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server2) $S2$Stop server1 -username $USERNAME -password $PASSWORD echo -n "Shutting down server2" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server3) $S3$Stop server1 -username $USERNAME -password $PASSWORD echo -n "Shutting down server3" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." sleep 3 echo -n " [OK]" echo "" ;; server4) $S4$Stop server1 -username $USERNAME -password $PASSWORD echo -n "Shutting down server4" sleep 1 echo -n "." sleep 1 echo -n "." sleep 1 echo -n "." echo -n " [OK]" sleep 3 echo "" esac ;; 5) printf "Please Enter ProfileName:"; read PNAME printf "Please Enter ProfilePath:"; read PPATH printf "/nPlease wait, this process takes about two minutes!" $MANAGE -create -templatePath $TEMPLATEPATH -profileName $PNAME -profilePath $PROFILEPATH$PPATH ;; 6) printf "Please Enter Need to be removed ProfileName:"; read DNAME $MANAGE -delete -profileName $DNAME ;; 7) $MANAGE -listProfiles ;; 9) exit ;; q) exit esac done ;; 5) ################################# #### Pureftp CRTL ####### ################################# # functions: Pureftpd script # author: Hu ShuangFeng # version 1.0: 2010-08-10. # FTP=/usr/local/pureftpd/bin/pure-pw mkpasswd=`mkpasswd -l 22 -d 5 -C 5 > /tmp/pureftpdoo` passwd1=`sed '1 w /tmp/pureftpdoo1' /tmp/pureftpdoo` passwd2=`cat /tmp/pureftpdoo >> /tmp/pureftpdoo1` passwd=/tmp/pureftpdoo1 while echo "===================================" do printf "What Are You Doing? /n /n1:UserAdd --Just enter the user name ! /n2:UserAdd --Need to enter a user name with the directory ! /n3:UserMod /n4:UserPasswd /n5:UserDel /n6:ListAllUser /n7:ListOneUser /n8:ShowUser /n9:Exit /n /n===================================/nEnter number: " ; read number while [ $number != 1 ]&&[ $number != 2 ]&&[ $number != 3 ]&&[ $number != 4 ]&&[ $number != 5 ]&&[ $number != 6 ]&&[ $number != q ]&&[ $number != 7 ]&&[ $number != 8 ]&&[ $number != 9 ] do printf "Please enter the correct option :" ; read number done case "$number" in 1) printf "Please Enter a user name :" ; read name $FTP useradd $name -u nobody -g nobody -d `pwd` y-m < $passwd echo "-----------------------------------" echo " " echo "Users [$name] create successful ! " echo " " printf "You user name is : $name /n" printf "You Password is : $passwd1 /n" printf "You directory is : `pwd` /n" echo " " ;; 2) printf "Please Enter a user name :" ; read name printf "Please enter the directory : " ; read directory $FTP useradd $name -u nobody -g nobody -d $directory -m < $passwd echo "-----------------------------------" echo " " echo "Users [$name] create successful !" echo " " printf "You user name is : $name /n" printf "You Password is : $passwd1 /n" printf "You directory is : $directory /n" echo " " ;; 3) printf "Please enter a user name :" ; read name printf "Please enter a new directory :" ; read newdirectory $FTP usermod $name -u nobody -g nobody -d $newdirectory -m echo "-----------------------------------" echo " " echo "User [$name] modify a successful !" echo " " printf "You user name is : $name /n" printf "You new directory is : $newdirectory /n" echo " " ;; 4) printf "Please enter a user name :" ; read name $FTP passwd $name -m < $passwd echo "-----------------------------------" echo " " echo "[$name] Password changed successfully !" echo " " printf "You user name is : $name /n" printf "You nwe password is : $passwd1 /n" echo " " ;; 5) printf "Please enter a user name :" ; read name $FTP userdel $name -m echo "-----------------------------------" echo " " echo "Users [$name] have been deleted !" echo " " ;; 6) $FTP list ;; 7) printf "Please enter a user name :" ; read name $FTP list | grep $name echo " " ;; 8) printf "Please enter a user name :" ; read name $FTP show $name echo " " ;; 9) exit ;; q) exit esac done ;; 6) ################################# #### push crtl ####### ################################# while echo "===================================" do printf "What Are You Doing? /n /n1:Starting push service ! /n2:Stoping push service ! /n3:Restarting push service !/n4:Status push service !/n /n===================================/nEnter number: " ; read NUMBER case "$NUMBER" in 1) service dhcpd start service vsftpd start service xinetd start service portmap start service nfs start ;; 2) service dhcpd stop service vsftpd stop service xinetd stop service portmap stop service nfs stop ;; 3) service dhcpd restart service vsftpd restart service xinetd restart service portmap restart service nfs restart ;; 4) service dhcpd status service vsftpd status service xinetd status service portmap status service nfs status ;; q) exit ;; esac done ;; 9) exit ;; q) exit esac done