一般我们购买到VPS服务器之后肯定需要检查当前VPS主机的配置是不是和我们购买时候商家说的一样配置,以及我们需要检查当前服务器的基本硬件稳定信息。然后加以我们使用建站或者项目用途的实际速度体验才是一个较为完整的服务器性能检测。在这篇文章中,将整理和分享这个一键脚本,可以用于检查服务器的信息。
第一、脚本地址
脚本:http://blog.xiaoyangge.com/tools/vpsinfo.sh
第二、脚本应用
wget http://blog.xiaoyangge.com/tools/vpsinfo.sh && sh vpsinfo.sh
第三、使用演示
这里我们可以看到,直接可以检测到当前服务器的IP地址、系统、发行版本、OPENVZ或者KVM,以及内存、硬盘等信息,其中还有检测到来自CACHEFIY的下载文件速度。
修改美化于 https://vhwinfo.com
vpsinfo.sh 源码
#!/bin/bash
clear
echo " -----------------------------------";
echo " ^__^";
echo " (oo)_______";
echo " (__) )/";
echo " ||----w |";
echo " || ||";
echo " --------blog.xiaoyangge.com-----------";
echo " ";
echo " ";
hostname=`hostname`
if [[ "$hostname" == *.* ]]
then
echo -e -n " hostname:\t "`hostname`
else
echo -e -n " hostname:\t "`hostname`.`dnsdomainname`
fi
ip=`wget -qO- --no-check-certificate http://vhwinfo.com/ipecho.php`
echo " (public ip "$ip")"
if hash sw_vers 2>/dev/null; then
# --------------------- MAC
virtual="It is not virtual, is dedicated"
echo -e " SO:\t\t "`sw_vers -productName` `sw_vers -productVersion`" (build "`sw_vers -buildVersion`")"
kernel_version=`system_profiler SPSoftwareDataType | grep 'Kernel Version:'`
echo -e " kernel:\t "${kernel_version:22}
echo -e " virtual:\t "$virtual
cpu=`sysctl -a machdep.cpu.brand_string`
echo -e " CPU:\t\t "${cpu:26}
cores=`sysctl hw.ncpu | awk '{print $2}'`
#cores=$((cores/2))
echo -e -n " vcpu:\t\t "$cores
if [[ $cores>1 ]]
then
echo " cores"
else
echo " core"
fi
ram=`sysctl hw.memsize`
ram=${ram:12}
ram=$((ram/1024/1024))
echo -e -n " RAM:\t\t "$ram "MB"
#if [[ $ram>1024 ]] then echo "gigas" fi
free=`vm_stat | grep 'Pages free:'`
free=${free:12}
free=${free%.*}
free=$((free*4))
free=$((free/1024))
free=$((free*100))
free=$((free/ram))
used=$((100-$free))
echo " ("$used"% used)"
hd=`diskutil info /dev/disk0 | grep 'Total Size:'`
hd=${hd:29}
hd=${hd%.*}
echo -e " HD:\t\t "$hd "GB"
speed="`wget -O /dev/null http://cachefly.cachefly.net/1mb.test 2>&1 | grep '\([0-9.]\+ [KM]B/s\)'`"
#pos=`expr index "$speed" "s"`
#echo $pos
speed=${speed:21}
speed=${speed%)*}
echo -e " cachefly 1Mb:\t "$speed
# --------------------- LINUX
else
virtual="It is not virtual, \e[42mis dedicated\e[0m"
kernel_version=`uname -r`
MACHINE_TYPE=`uname -m`
if [ ${MACHINE_TYPE} == 'x86_64' ]; then
bits=" 64 bits" # 64-bit stuff here
else
bits=" 32 bits" # 32-bit stuff here
fi
if hash lsb_release 2>/dev/null;
then
soalt=`lsb_release -d`
echo -e " SO:\t\t "${soalt:13} $bits
else
so=`cat /etc/issue`
pos=`expr index "$so" 123456789`
so=${so/\/}
extra=""
if [[ "$so" == Debian*6* ]];
then
extra="(squeeze)"
fi
if [[ "$so" == Debian*7* ]];
then
extra="(wheezy)"
fi
if [[ "$so" == *Proxmox* ]];
then
so="Debian 7.6 (wheezy)";
fi
otro=`expr index "$so" \S`
if [[ "$otro" == 2 ]];
then
so=`cat /etc/*-release`
pos=`expr index "$so" NAME`
pos=$((pos-2))
so=${so/\/}
fi
echo -e " SO:\t\t "${so:0:($pos+2)} $extra$bits
fi
echo -e " kernel:\t "$kernel_version
if hash ifconfig 2>/dev/null; then
eth=`ifconfig`
else
eth=""
fi
virtualx=`dmesg`
if [[ "$eth" == *eth0* ]];
then
#virtual="It is not virtual, \e[42mis dedicated\e[0m"
if [[ "$virtualx" == *kvm-clock* ]];
then
virtual="KVM"
fi
if [[ "$virtualx" == *"VMware Virtual Platform"* ]];
then
virtual="VMware"
fi
if [[ "$virtualx" == *"Parallels Software International"* ]];
then
virtual="Parallels"
fi
if [[ "$virtualx" == *VirtualBox* ]];
then
virtual="VirtualBox"
fi
else
if [ -f /proc/user_beancounters ]
then
virtual="OpenVZ"
fi
fi
if [ -e /proc/xen ]
then
virtual="Xen"
fi
echo -e " virtual:\t "$virtual
cpu=`cat /proc/cpuinfo | grep "model name" | head -n 1`
bogo=`cat /proc/cpuinfo | grep "bogomips" | head -n 1`
cores=`grep -c processor /proc/cpuinfo`
if [[ "$cores" > 1 ]];
then
label="cores"
else
label="core"
fi
echo -e " cpu:\t\t "${cpu:13}
echo -e " vcpu:\t\t "$cores $label / ${bogo:11} bogomips
mem=`free -m`
pos=`expr index "$mem" M`
ram=${mem:($pos+10):10}
ram=${ram//[[:blank:]]/}
pos=`expr index "$mem" p`
swap=${mem:($pos+10):10}
swap=${swap//[[:blank:]]/}
busy=`free -t -m | egrep Mem | awk '{print $3}'`
busy=$((busy*100))
busy=$((busy/ram))
busy_swap=`free -t -m | egrep Swap | awk '{print $3}'`
busy_swap=$((busy_swap*100))
if (($swap>0))
then
busy_swap=$((busy_swap/swap))
fi
if (($busy>75))
then
label1="\e[43m"
label2="\e[0m"
else
label1=""
label2=""
if (($busy>90))
then
label1="\e[41m"
label2="\e[0m"
else
label1=""
label2=""
fi
fi
echo -e " RAM:\t\t "$ram" MB ("$label1$busy"% used"$label2")" / swap $swap MB "("$busy_swap"% used)"
total=`df -h --total | grep 'total' | awk '{print $2}'`
used=`df -h --total | grep 'total' | awk '{print $5}'`
used="${used//%}"
if (($used>75))
then
label1="\e[43m"
label2="\e[0m"
else
label1=""
label2=""
if (($used>90))
then
label1="\e[41m"
label2="\e[0m"
else
label1=""
label2=""
fi
fi
hdspeed=`dd if=/dev/zero of=ddfile bs=16k count=12190 2>&1`
sync
rm -rf ddfile
hdspeed1=" / inkling speed "`echo $hdspeed | grep "s, " | awk '{print $14}'`
hdspeed2=`echo $hdspeed | grep "s, " | awk '{print $15}'`
if (($used>0))
then
echo -e " HD:\t\t "$total "("$label1$used"% used"$label2")"$hdspeed1 $hdspeed2
else
echo -e " HD:\t\t (\e[43mMultiple partitions to check not allowed yet\e[0m)"$hdspeed1 $hdspeed2
fi
speed="`wget -O /dev/null http://cachefly.cachefly.net/10mb.test 2>&1 | grep '\([0-9.]\+ [KM]B/s\)'`"
pos=`expr index "$speed" "s"`
unidad=${speed:($pos-4):4}
speed=${speed:21:($pos-25)}
if [[ "$unidad" == "MB/s" ]];
then
pos=`expr index "$speed" .`
if (($pos<1))
then
pos=`expr index "$speed" ,`
fi
num=${speed:0:$pos-1}
if (($num>12))
then
extra="(\e[42mprobably Gigabit Port\e[0m)"
else
extra=""
fi
fi
echo -e " cachefly 10MB:\t "$speed $unidad $extra
fi
echo " "
# END
这是评论测试
飞歌导航东方红烦得很
这是新的一条评论
未来一年,中国的移动支付市场会是什么样?