SHELL训练营--day25_shell练习66-70

#判断CPU厂商
#!/bin/bash
cpu=`grep '^vendor_id' /proc/cpuinfo |head -1 |awk -F ": " '{print $2}'`
case $cpu in
    AuthenticAMD)
        echo "CPU厂商是AMD。"
    ;;
    GenuineIntel)
        echo "CPU厂商是Intel。"
    ;;
    *)
        echo "CPU厂商是非主流厂商。"
    ;;
esac

#监控CPU使用率
#!/bin/bash
while :
do
    cpu_i=`top -bn1|grep 'Cpu(s):'| sed 's/^%//' |awk -F ' +|%' '{print $8}'`
    cpu_u=`echo 100-$cpu_i|bc`
    echo $cpu_u

    if [ $cpu_u -gt 90 ]
    then
        python mail.py [email protected]  "CPU 使用率偏高" "`top -bn1|grep 'Cpu(s):'`"
    fi
    sleep 10
done

#打印子进程
#!/bin/bash
ps -elf > /tmp/pid.txt
read -p "Please input a pid:" p

if [ -z "$p" ]
then
    echo "Please input a pid."
    exit
fi

if ! grep -qw "$p" /tmp/pid.txt
then
    echo "你输入的pid不存在。"
    exit
fi

get_cpid()
{
    p1=$1
    ps -elf |awk -v p2=$p1 '$5==p2 {print $4}' > /tmp/$p1.txt
    n=`wc -l /tmp/$p1.txt|awk '{print $1}'`
    if [ $n -eq 0 ]
    then
        echo "进程$1下没有子进程。"
    else
        echo "进程$1下子进程是:"
        cat /tmp/$p1.txt
    fi
}

get_cpid $p

for c_p in `cat /tmp/$p.txt`
do
    get_cpid $c_p
done

#lamp增加项目
#!/bin/bash
webdir=/data/wwwroot
ftpudir=/etc/vsftpd/vuuser
ftpuserfile=/root/login
mysqlc="/usr/local/mysql/bin/mysql -uroot -pxxxx"
httpd_config_f="/usr/local/apache2/conf/extra/httpd-vhosts.conf"

add_mysql_user()
{
mysql_p=`mkpasswd -s 0 -l 12`
echo "$pro $mysql_p" >/tmp/$pro.txt
$mysqlc <<EOF
create database $pro;
grant all on $pro.* to "$pro"@'127.0.0.1' identified by "$mysql_p";
EOF
}

add_ftp_user()
{
    ftp_p=`mkpasswd -s 0 -l 12`
    echo "$pro" >> $ftpuserfile
    echo "$ftp_p" >> $ftpuserfile

    db_load -T -t hash -f $ftpuserfile /etc/vsftpd/vsftpd_login.db_load
    cd $ftpudir

    cp aaa $pro
    sed -i "s/aaa/$pro/" $pro
    /etc/init.d/vsftpd restart
}

config_httpd()
{
    mkdir $webdir/$dom
    chown vsftpd:vsftpd $webdir/$dom

    cat >> $httpd_config_f <<EOF
    <VirtualHost *:80>
        DocumentRoot $webdir/$dom
        ServerName $dom
        <Directory $webdir/$dom>
            AllowOverride none
            Require all granted
        </Directory>
    </VirtualHost>
EOF

/usr/local/apache2/bin/apachectl graceful
}

read -p "input the project name:" pro
read -p "input the domain:" dom

add_mysql_user
add_ftp_user
config_httpd

#简易计算器
#!/bin/bash

if [ $# -ne 3 ]
then
    echo "参数个数不对,3个。"
    exit
fi

if_number()
{
    n1=`echo $1|sed 's/[0-9.]//g'`
    if [ -n "$n1" ]
    then
        echo "$1不是数字。"
        exit
    fi
    if echo $1| grep -q '^\.'
    then
        echo "数字$1不合法。"
    fi

}

if_number $1
if_number $3

case $2 in 
    +)
        echo "$1+$3"|bc
    ;;
    -)
        echo "$1-$3"|bc
    ;;
    \*)
        echo "$1*$3"|bc
    ;;
    /)
        echo "$1/$3"|bc
    ;;
    *)
        echo "格式不对,第二个参数只能是+,-,*,/"
    ;;
esac

猜你喜欢

转载自blog.51cto.com/sincethen/2345241
今日推荐