shell脚本应用《十》查看多个系统CPU,指定的进程CPU,主备机,内存使用情况

需求:查看多台机器看多个系统CPU,指定的进程CPU,主备机状态,内存使用情况;并在一台机器上显示;

第一:先设置ssh免密码登录

ssh-keygen -t rsa P‘‘ -f ~/.ssh/id_rsa 不提示直接生成秘钥
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

第二:查询脚本,分别拷贝到各个机器上

scp /usr/local/src/cpu_men.sh [email protected]: /usr/local/src/
脚本内容
#!/bin/bash
cpu=top -bn1|awk -F "[,:%]" ‘/Cpu/{print $2}‘
men_total=free -m | grep Mem|awk ‘{print $2}‘
men_used=free -m | grep Mem|awk ‘{print $3}‘
men_av=awk ‘BEGIN{printf"%.0f\n",(‘${men_used}‘/‘${men_total}‘)*100}‘
num=ifconfig|awk ‘/eth.:./{print $1}‘|wc -l
syseth="主"
[ ${num} -eq 0 ] && syseth="备"
IP=ifconfig|awk -F"[: ]+" ‘NR==2{print $4}‘
pronum=ps aux|grep tdci|grep -Ev "$$|grep"|awk ‘{print $3}‘|wc -l
procpu=ps aux|grep tdci|grep -Ev "$$|grep"|awk ‘{print $3}‘|xargs
#awk ‘BEGIN{printf"%-20s%-10s%-10s%-10s%-20s\n","IP------------------","status---------","CPU%------","men%------","procpu%-----"}‘
awk ‘BEGIN{printf"%-20s%-13s%-12s%-10s","‘${IP}‘","‘$syseth‘","‘"${cpu}"‘",‘"${men_av}"‘}‘
echo "$procpu (${pronum} "tdic")"

第三:总体查询并在一台主机显示脚本:ssh_exec.sh

#!/bin/bash
awk ‘BEGIN{printf"%-20s%-10s%-10s%-10s%-20s\n","IP------------------","status---------","CPU%------","men%------","procpu%-----"}‘br/>arry=(
192.168.50.5
192.168.50.6
192.168.50.9
)
for((i=0;i<${#arry[@]};i++))
do
ssh [email protected]${arry[i]} "/bin/bash /usr/local/src/cpu_men.sh"
done
/bin/bash /usr/local/src/cpu_men.sh

执行结果

> [[email protected] src]# sh ssh_exec.sh
> IP------------------status---------CPU%------men%------procpu%-----
> 192.168.50.5         备             3.6             10                  1.3 0.5 (2 tdic)
> 192.168.50.6         主             8.4             12                  24.8 2.4 (2 tdic)
> 192.168.50.9        主             4.5             30                  0.7 (1 tdic)
> 192.168.5010       备             1.4             10                  (0 tdic)
> [[email protected] src]# 

shell脚本应用《十》查看多个系统CPU,指定的进程CPU,主备机,内存使用情况

原文地址:https://blog.51cto.com/14294148/2437921

时间: 2024-10-09 13:57:40

shell脚本应用《十》查看多个系统CPU,指定的进程CPU,主备机,内存使用情况的相关文章

Shell脚本快速部署Kubernetes集群系统

本文紧跟上节所讲的手动部署Kubernetes管理Docker篇所写,本篇主要内容利用Shell脚本完成快速部署Kubernetes集群.上节博文看过的朋友也能感觉到部署过程相对比较简单,那么,出于简化工作流程,推进运维自动化角度来说,于是花了2/3天时间写这个部署Kubernetes脚本. 运维工作中,常常会遇到部署各种各样的服务,建议:常规部署都应该尽量使用脚本完成,一方面提高自身脚本编写能力,另一方面推进运维自动化. 详细部署说明文档:http://lizhenliang.blog.51c

shell脚本变量定义注意别跟系统变量重名了……

写了个很简单的脚本,执行结果却很奇怪.   1 #!/bin/bash 2 3 PATH=$HOME/vlc_transplant4 4 5 rm -f $PATH/vlc 6 ln -s $PATH/bin/vlc-static $PATH/vlc 执行结果: [email protected]:~/vlc_transplant4$ ./update.sh ./update.sh: 行 5: rm: 未找到命令 ./update.sh: 行 6: ln: 未找到命令 原因是自己在脚本中定义的P

shell脚本,批量创建10个系统帐号并设置密码为随机8位字符串。

[[email protected] wyb]# cat user10.sh #!/bin/bash #批量创建10个系统帐号wangyb01-wangyb10并设置密码(密码为随机8位字符串). >user.list for user in `seq -w 10` do useradd wangyb$user password=`echo $RANDOM|md5sum|cut -c 1-8` echo $password|passwd wangyb$user --stdin echo wang

linux 定时执行shell脚本 定时任务

本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步: 1.编写shell脚本 2.利用crontab加入到定时任务队列 3.查看作业完成情况 一.如何建立shell脚本 linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序

&lt;&lt;linux命令行与shell脚本编程大全&gt;&gt;学习笔记(1)

一章初识linux shell 一.什么是linux 1.linux系统可大致划分为四部分: l Linux内核 l GNU工具组件 l 图形化桌面环境 l 应用软件 在linux系统里,这四部分中的每一部分都扮演着一个特别的角色,但如果将他们分开,每一部分都没太大的作用. 1)探究linux内核 Linux系统的核心是内核,内核控制着计算机系统上的所有硬件和软件,必要时分配硬件,有时需要执行软件. 内核基本负责以下四项主要功能: l 系统内存管理 l 软件程序管理 l 硬件设备管理 l 文件系

linux 定时执行shell脚本

转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步:

08 bash特性--shell脚本编程入门

shell脚本编程入门 编程语言介绍 变量 变量:就是给计算机内存中的一段空间命令,命令的这个空间就叫做变量,而再给这个空间放入值的过程,我们就叫做给变量赋值: bash下的变量的内部数据类型:(这是数据在内存中存放的格式,默认情况下,shell程序下一班都不会去申明数据类型,所以,我们的bash程序默认数据为字符类型) 字符型(string) 数值:整型(int).浮点型 布尔类型:真假 同时,脚本一般在执行的时候都会自动启动一个子shell进程,命令行中的启动的脚本会继承当前shell环境变

Linux就该这么学——编写SHELL脚本

初识SHELL Shell脚本命令的工作方式: 交互式 : 用户每输入一条命令就会立即执行 批处理 : 由用户事先编好一个完整的SHELL脚本,shell脚本会一次性执行脚本中诸多的命令. 注: 1.查看SHELL变量可以发现当前系统已经默认使用Bash作为命令终端解释器了; 2.可以把SHELL终端解释器当做人与计算机之间的”翻译官”,它作为用户与Linux系统内部的通信媒介,除了能够支持各种变量与参数外,还提供诸如循环,分支等高级编程语言才有的控制结构特性. SHELL脚本初体验之我的第一个

FTP定时批量下载文件(SHELL脚本及使用方法 ) (转)

ftp -v -d -i -n -g [主机名] ,其中-v 显示远程服务器的所有响应信息:-n 限制ftp的自动登录,即不使用:.n etrc文件:-d 使用调试方式:-g 取消全局文件名.http://blog.itpub.net/20943428/viewspace-630467/ 1. 脚本实例 将以下脚本保存为 getftp.sh #!/bin/bash datesign=`date -d -95day +%Y%m%d` ftp -nv 12.2.2.28 <<!FTPRUN use