您的位置:首页 > 其它

系统登录信息输出

2018-04-30 19:02 120 查看

SSH登录的时候执行脚本,输出一些相关的信息
如:CPU的使用率、内存的使用率、磁盘的使用率、进程的数量等信息

首先,我们编辑一个shell脚本

#!/bin/bash
Running=

ps -ef | wc -l

Users=
who | wc -l

Filesystem=
df -Th | grep "/dev/vda1" | awk '{print $6}'

MenTotal=
free | grep "Mem" | awk '{print $2}'

MenUsed=
free | grep "Mem" | awk '{print $3}'

Mem=
echo "scale=2; $MenUsed / $MenTotal * 100" | bc | awk -F . '{print $1}'

#用户空间占用CPU百分比
us=
top -b -n 1 | grep "Cpu(s):" | awk '{print $2}' | awk -F % '{print $1}' | sed s/[[:space:]]//g

#内核空间占用CPU百分比
sy=
top -b -n 1 | grep "Cpu(s):" | awk -F , '{print $2}' | awk -F % '{print $1}' | sed s/[[:space:]]//g

#用户进程空间内改变过优先级的进程占用CPU百分比
ni=
top -b -n 1 | grep "Cpu(s):" | awk -F , '{print $3}' | awk -F % '{print $1}' | sed s/[[:space:]]//g

#等待输入输出的CPU时间百分比
wa=
top -b -n 1 | grep "Cpu(s):" | awk -F , '{print $5}' | awk -F % '{print $1}' | sed s/[[:space:]]//g

CPU=
echo "scale=0; $us + $sy + $ni + $wa" | bc | awk -F . '{print $1}'

if [[ $CPU -gt 80 ]]; then
echo -e "\033[41;30m CPU:$CPU% \c \033[0m"
else
echo -e "\033[42;30m CPU:$CPU% \c \033[0m"
fi

if [[ $Mem -gt 80 ]]; then
echo -e "\033[41;30m Men:$Mem% \c \033[0m"
else
echo -e "\033[42;30m Men:$Mem% \c \033[0m"
fi

if [[ $Filesystem > "80%" ]]; then
echo -e "\033[41;30m File:$Filesystem \033[0m"
else
echo -e "\033[42;30m File:$Filesystem \033[0m"
fi

if [[ $Running -gt 82 ]]; then
echo -e "\033[41;30m Running Proceses: $Running \c \033[0m"
else
echo -e "\033[42;30m Running Proceses: $Running \c \033[0m"
fi

if [[ $Users -gt 1 ]]; then
echo -e "\033[41;30m Login Users: $Users user \033[0m"
else
echo -e "\033[42;30m Login Users: $Users user \033[0m"
fi

echo ""

然后,我们在/etc目录下的profile文件最后一行添加/bin/bash /root/system_cat.sh,用户远程登陆就自动的执行上面的脚本程序,并输出信息

最后,可以按自己习惯修改/etc/issue和/etc/motd 文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息