shell收集服务器信息

这篇具有很好参考价值的文章主要介绍了shell收集服务器信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

na=`lsblk  | grep disk  | awk '{print $1}'`

for i in ${na[@]}
do
    Current_Pending_Sector_valur=`smartctl  -a /dev/$i | grep Current_Pending_Sector|awk '{print $6}'`
    if [[ $Current_Pending_Sector_valur -lt 80  ]]  ;then
        echo $i is healthy
    else
        echo $i is unhealthy
    fi
done


<NVME device on /dev/nvme2 mod:Samsung SSD 970 EVO Plus 2TB sn:dfdfdssdada323234>

####################################################################################
function lala() {
#scsi
na=`lsblk  | grep disk  | awk '{print $1}'|sort`
system_name=`dmidecode  -t1 | grep 'Serial Number:' | awk '{print $3}'`
for i in ${na[@]}
do
  DM=`smartctl -i /dev/$i | grep 'Device Model:'| awk '{print $3 $4}'`
  SM=`smartctl -i /dev/$i | grep 'Serial Number:'| awk '{print $3}'`
  FV=`smartctl -i /dev/$i | grep 'Firmware Version:'| awk '{print $3}'`
  CP=`smartctl -i /dev/$i | grep 'User Capacity:'| awk '{print $5$6}'`
  printf "<name=/dev/%s sys_name=%s dn=%s sn=%s mod=%s capability=%s>\n" $i $system_name $DM $SM $FV $CP
done

#nvme
nv=`lsblk |grep nvme | awk '{print $1}'`
for ((i=1;i<=2;i++))
do
      DevicePath=`nvme list  --output-format=json | grep DevicePath  | awk -F '"' '{print $4}'|awk "NR==$i"`
      SerialNumber=`nvme list  --output-format=json |grep 'SerialNumber'| awk -F '"' '{print $4}'|awk "NR==$i"`
      ModelNumber=`nvme list  --output-format=json |grep 'ModelNumber'| awk -F '"' '{print $4}'|awk "NR==$i"`
      Firmware=`nvme list  --output-format=json |grep 'Firmware'| awk -F '"' '{print $4}'|awk "NR==$i"`
      PhysicalSize=`nvme list  --output-format=json |grep 'PhysicalSize'| awk -F ':' '{print $2/1000000000000}' |awk "NR==$i"`
      printf "<name=%s sys_name=%s dn=%s sn=%s mod=%s capability=%sT>\n" $DevicePath $system_name $ModelNumber $SerialNumber $Firmware $PhysicalSize
done
}
####################################################################################

function cpu() {
    model=`lscpu | grep 'Model name:' | awk  '{print $3$4$5$6$7$8$9}'`
    socket=`lscpu | grep 'Thread(s) per core:'| awk '{print $4}'`
    core=`lscpu | grep 'Core(s) per socket:'| awk '{print $4}'`
    sn=`dmidecode  -t 4|grep 'Serial Number:'| awk '{print $3}'`
    printf "<model=%s socket=%s core=%s sn=%s >\n" $model $socket $core $sn
}

####################################################################################

mem_info=`dmidecode  -t17  | egrep -B20 'Configured Clock Speed: 1333 MT/s|Configured Clock Speed: 2400 MT/s' > ./mem_info`

type=`dmidecode  -t17|grep -E 'Type:'|awk '{print $2}'|awk "NR==1"`
if [[  "$type" == DDR3 ]];then
  type='DDR3'
else
  type='DDR4'
fi
for ((i=1;i<=8;i++)) ; do
    system_sn=`dmidecode  -t1 | grep 'Serial Number:' | awk '{print $3}'`
    sn=`cat ./mem_info|grep 'Serial Number:'|awk '{print $3}'| grep -vi no |awk "NR==$i"`
    pn=`cat ./mem_info|grep 'Part Number:' |awk '{print $3}'| grep -vi no |awk "NR==$i"`
    size=`cat ./mem_info|grep 'Size:'|awk '{print $2}' | grep -iv no|awk "NR==$i"`
    l=`cat ./mem_info|grep  'Locator:'|awk '{print $2}' |grep -v 'Locator:'|awk "NR==$i"`
    bl=`cat ./mem_info|grep  "Bank Locator:"  | awk  '{print $3"_"$4"_"$5"_"$6"_"$7"_"$8}'|awk "NR==$i"`
    speed_curr=`cat ./mem_info|grep  'Configured Clock Speed:'|awk '{print $4}'| grep -iv know|awk "NR==$i" `
    printf  "<Memory sys_sn=%s slot=%s sn=%s pn=%s size=%sMB type=%s speed_curr=%sMT/s l=%s bl=%s>\n"  $system_sn None $sn $pn $size $type $speed_curr $l $bl
done

####################################################################################

nvme list --output-format=json | jq .Devices[0,1].DevicePath
nvme1=`cat nvmeinfo | jq .Devices[0].DevicePath,.Devices[0].Firmware,.Devices[0].ModelNumber,.Devices[0].SerialNumber`
nvme2=`cat nvmeinfo | jq .Devices[1].DevicePath,.Devices[1].Firmware,.Devices[1].ModelNumber,.Devices[1].SerialNumber`
printf "<nvme info: %3s %12s %8s %20s" name mod pn sn
printf "<nvme info: "  ;printf "%s" $nvme1  ;printf  ">"

文章来源地址https://www.toymoban.com/news/detail-664402.html

到了这里,关于shell收集服务器信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 服务器硬件数据的收集

    在Linux服务器上,可以使用一些命令来收集硬件数据,比如: dmidecode是一款在Linux系统中用于获取计算机硬件系统信息的工具,可以获取到主板、BIOS、CPU、内存、硬盘等硬件信息。下面对dmidecode命令进行详解: 常用选项: -t :指定要显示的硬件类型,如1表示显示主板信息,

    2024年02月06日
    浏览(38)
  • 运维 | 查看 Linux 服务器 IP 地址

    大多数在操作 Linux 系统时,我们经常需要知道服务器的 IP 比便于后续的一系列操作,这时候有快速查看主机 IP 的命令行操作,能够有效的帮助我们 本章节主要记录一些常用查看服务器 IP 的命令,希望对大家有所帮助。 查看 Linux 服务器的 IP 地址的命令大体上有以下几种。

    2024年04月27日
    浏览(52)
  • 【运维】Linux 跨服务器复制文件文件夹

    如果是云服务 建议用内网ip scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来

    2024年02月08日
    浏览(46)
  • Linux&Shell--多服务器自动登录连接

    sshpass 是一个命令行工具,用于自动化SSH密码认证。它通常在脚本或自动化任务中使用,其中您需要提供密码以建立SSH连接,而无需用户干预。可以直接将密码作为命令行参数或通过文件提供,以便在建立SSH连接时自动输入密码。这对于需要自动化处理SSH连接的任务非常有用

    2024年02月03日
    浏览(51)
  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书

    本文思维导图概述的主要内容: 1.1 什么是 crontab Crontab 是一个在 Unix 和 Linux 操作系统上 用于定时执行任务 的工具。它允许用户创建和管理计划任务,以便在特定的时间间隔或时间点自动运行命令或脚本。Crontab 是 cron table 的缩写, cron 指的是 Unix 系统中的一个后台进程,它

    2024年02月08日
    浏览(62)
  • Linux本地部署1Panel服务器运维管理面板并实现公网访问

    1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等 下面我们介绍在Linux 本地安装1Panel 并结合cpolar 内网穿透工具实现远程访问1Panel 管理界面 执行如下命令一键安装 1Panel: 安

    2024年02月04日
    浏览(58)
  • Linux服务器常见运维性能测试(1)综合跑分unixbench、superbench

    最近需要测试一批服务器的相关硬件性能,以及在常规环境下的硬件运行稳定情况,需要持续拷机测试稳定性。所以找了一些测试用例。本次测试包括在服务器的高低温下性能记录及压力测试,高低电压下性能记录及压力测试,常规环境下CPU满载稳定运行的功率记录。 这个系

    2024年02月04日
    浏览(55)
  • 【Linux】在服务器上创建Crontab(定时任务),自动执行shell脚本

    业务场景:该文即为上次编写shell脚本的姊妹篇,在上文基础上,将可执行的脚本通过linux的定时任务自动执行,节省人力物力,话不多说,开始操作! 连上服务器后,在任意位置都可以执行: crontab -e 如果没有进入 编辑cron任务模式 根据提示查看我们的服务器上是否未安装crontab没有则

    2024年02月14日
    浏览(49)
  • 【Linux】查看服务器硬件信息

    root@uos-PC:/home/uos/Downloads/log/var/log/tuned# dmidecode -h Usage: dmidecode [OPTIONS] Options are: -d, --dev-mem FILE Read memory from device FILE (default: /dev/mem) -h, --help Display this help text and exit -q, --quiet Less verbose output -s, --string KEYWORD Only display the value of the given DMI string -t, --type TYPE Only display the entries of g

    2023年04月14日
    浏览(57)
  • [1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

    本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程,本期为大家按照本专栏的基本内容进行多方面的测评。

    2024年02月07日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包