linux bash脚本,检查linux系统的硬件状况和网络情况,并生成可追加记录的检查报告

linux bash脚本,检查linux系统的硬件状况和网络情况,并生成可追加记录的检查报告
目录
一、要求
二、脚本介绍
1、脚本内容
2、脚本处理
(1)脚本说明
(2&#xff0

目录

一、要求

2. 脚本简介

1. 脚本内容

2. 脚本处理

(1) 脚本说明

(2) 脚本命名

(三)执行权限

3.运行脚本

(1)命令执行

(2)执行结果

3. 扩展:

1、部署方向

2.另存为可添加记录的文件

(1)新的脚本内容

(2) 脚本说明

(3) 执行脚本

(四)检验报告

一、要求

创建Linux 检查脚本来检查系统硬件和网络连接状态。这可以包括多个方面,例如CPU、内存、磁盘和网络接口状态。

二、脚本介绍

1、脚本内容

下面是Linux 的bash 脚本示例,涵盖了所有必要的检查点。

#!/bin/bash

# 打印标题

echo \’======系统检查报告=====\’

echo \’开始时间: $(日期)\’

# 查看本地CPU信息

echo \’—–CPU信息—–\’

LSCPU

# 查看本地内存使用情况

echo \’—–内存使用情况—–\’

自由-h

# 检查磁盘使用情况

echo \’—–磁盘使用情况—–\’

DF-H

# 检查网络接口状态

echo \’—–网络接口状态—–\’

IP地址显示

# 检查网络连接(尝试ping 外部地址,例如Google 的DNS 服务器)

echo \’—–网络连通性测试(ping vidisit.cn)—–\’

ping -c 4 www.vidisit.cn

# 检查系统负载

echo \’—–系统负载—–\’

工作时间

# 脚本结束

echo \’======测试完成=====\’

echo \’结束时间: $(日期)\’

2、脚本处理

(1)脚本说明

– 该脚本使用一些基本的Linux 命令来检查系统状态。您可以根据需要调整或添加更多命令和检查点。

– ping 命令用于测试网络连通性。我们这里以vidisit.cn为例,但您可以根据您的实际需要将其更改为任何其他受信任的外部地址。

– 脚本中的ip addr show 命令显示网络接口的状态,包括其IP 地址和其他信息。

– df -h 和free -h 分别以人类可读的格式显示磁盘和内存使用情况。

– lscpu 显示CPU架构信息。

– uptime 显示自上次启动以来系统的正常运行时间和负载信息。

(2)脚本命名

将上述脚本保存在名为system_check.sh 的文件中。

(3)执行权限

授予脚本执行权限:chmod +x system_check.sh。

3、脚本执行

(1)执行命令

使用以下命令运行脚本:

sh 系统检查.sh

(2)执行结果

执行结果如下。

[root@ecs-52a1 quinn]# sh system_check.sh

=====系统检查报告=====

开始时间: 7 月26 日星期五21:02:34 CST 2024

—–CPU信息—-

架构: x86_64

CPU工作模式: 32位、64位

字节顺序: 小端

CPU: 4

在线CPU列表: 0-3

每个核心的线程数: 2

每个插槽的核心数: 2

插座: 1

NUMA 节点: 1

供应商ID: 正版英特尔

CPU 系列: 6

型号: 85

型号名称: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz

步进: 7

CPU MHz: 2600.000

博高MIPS: 5200.00

虚拟机管理程序供应商: KVM

虚拟化类型: 完整

一级缓存: 32K

一级缓存: 32K

二级缓存: 1024K

三级缓存: 36608K

NUMA 节点0 CPU: 0-3

Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht 系统调用nx pdpe1gb rdtscp lm Constant_tsc rep_good nopl xtopology nonstop_tsceagerfpu pni pclmulqdq ssse3 fma c x1 6 PC ID sse4_1 sse4_2 x2apic movbe Popcnt tsc_deadline_timer aes xsave avx f16c rdrand 管理程序lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflu shopt clwb av x512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat avx512_vnni md_clear spec_ctrl intel_stibp flash_l1d Arch_capability

– – – 内存使用情况 – – –

可用的免费共享增益/缓存总数

Mem: 7.6G 3.7G 1.5G 400M 2.5G 3.3G

互换: 0B 0B 0B

– – – 磁盘使用状态- – –

使用的文件系统大小Avail Use% Mount 目标

devtmpfs 3.9G 0 3.9G 0% /dev

tmpfs 3.9G 0 3.9G 0% /dev/shm

tmpfs 3.9G 401M 3.5G 11%/运行

tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

/dev/vda1 99G 14G 81G 15% /

tmpfs 783M 0 783M 0% /运行/用户/0

tmpfs 783M 0 783M 0% /运行/用户/1001

—– 网络接口状态—–

1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue 状态未知组默认qlen 1000

链接/环回00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 范围主机lo

永远有效_lft 永远首选_lft

inet6 :1/128 范围主机

永远有效_lft 永远首选_lft

2: eth0: 广播、组播、UP、LOWER_UP mtu 1500 qdisc htb 状态UP 组默认qlen 1000

链接/以太fa:16:3e:2f:45:48 brd ff:ff:ff:ff:ff:ff

inet 192.168.0.138/24 brd 192.168.0.255 范围全局noprefixroute 动态eth0

effective_lft 49414 秒Priority_lft 49414 秒

inet6 fe80:f816:3eff:fe2f:4548/64 范围链接

永远有效_lft 永远首选_lft

—– 网络连通性测试(ping vidisit.cn)—–

PING web.s1267.vhostgo.com (211.149.238.18) 56(84) 字节数据。

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=1 ttl=46 时间=38.4 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=2 ttl=46 时间=38.2 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=3 ttl=46 时间=38.3 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=4 ttl=46 时间=38.2 ms

— web.s1267.vhostgo.com ping 统计数据—

发送4 个数据包,接收4 个数据包,丢包0%,时间3198 ms

rtt 最小值/平均值/最大值/mdev=38.228/38.330/38.499/0.176 毫秒

—–系统负载—–

21:02:38 最多64 天、32 分钟、1 位用户、平均负载: 0.29、0.22、0.23

=====测试完成=====

结束时间: 7 月26 日星期五21:02:38 CST 2024

[root@ecs-52a1 奎因]#

三、扩展:

1、扩展方向

脚本的输出可以重定向到文件./system_check.sh system_check_report.txt以供后续分析和归档。

如果需要定期检查,可以考虑在cron作业中添加脚本来实现自动检查。

对于更复杂的检查,例如服务状态、安全设置等,您可能需要编写更详细的脚本或使用现有的监控和审核工具。

2、保存为可追加记录的文件

保存为文件时,文件名包括当前日期和时间。如何更改脚本?

(1)新的脚本内容

#!/bin/bash

# 生成包含当前日期和时间的文件名

文件名=\’system_check_report_$(日期+%Y%m%d_%H%M%S).txt\’

# 打印标题

echo \’======系统验证报告=====\’ \’$filename\’ |

echo \’开始时间: $(日期)\’ | tee -a \’$文件名\’

# 查看CPU信息

echo \’—– CPU信息—–\’ tee -a \’$filename\’ | echo \’—– CPU信息—–\’ tee -a \’$filename\’ |

lscpu | tee -a \’$文件名\’

# 检查内存使用情况

echo \’—– 内存使用情况—–\’ tee -a \’$filename\’ |

免费-h | 茶-a \’$文件名\’

# 检查磁盘使用情况

echo \’—– 磁盘使用情况—–\’ tee -a \’$filename\’ |

df -h | tee -a \’$文件名\’

# 检查网络接口状态

echo \’—– 网络接口状态—–\’ tee -a \’$filename\’ |

ip 地址show -a \’$filename\’

# 检查网络连接(尝试ping 外部地址,例如vidisit 的DNS 服务器)

echo \’—– 测试网络连接(ping www.vidisit.cn) —–\’ | \’$filename\’

ping -c 4 www.vidisit.cn tee -a \’$filename\’

# 检查系统负载

echo \’—–系统负载—–\’ tee -a \’$filename\’ |

正常运行时间| tee -a \’$filename\’

# 脚本结束

echo \’======验证完成=====\’ tee -a \’$filename\’ |

echo \’结束时间: $(日期)\’ | \’$文件名\’ |

(2)脚本解释

该脚本使用tee 命令写入标准输出和文件。 -a 选项表示追加模式,每次运行脚本时,新的输出都会追加到文件末尾,而不是覆盖旧内容。

date +%Y%m%d_%H%M%S 用于生成年、月、日、时、分、秒、秒格式的日期和时间字符串。该字符串将用作文件名的一部分。

(3)脚本执行

使用以下命令运行脚本:

sh system_check_add.sh

我得到以下结果:

[root@ecs-52a1 quinn]# sh system_check_

system_check_add.sh system_check_report_20240726_205829.txt system_check_report_20240726_205926.txt

[root@ecs-52a1 quinn]# sh system_check_add.sh

=====系统检查报告=====

开始时间: 7 月26 日星期五21:10:21 CST 2024

—–CPU信息—-

架构: x86_64

CPU工作模式: 32位、64位

字节顺序: 小端

CPU: 4

在线CPU列表: 0-3

每个核心的线程数: 2

每个插槽的核心数: 2

插座: 1

NUMA 节点: 1

供应商ID: 正版英特尔

CPU 系列: 6

型号: 85

型号名称: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz

步进: 7

CPU MHz: 2600.000

博高MIPS: 5200.00

虚拟机管理程序供应商: KVM

虚拟化类型: 完整

一级缓存: 32K

一级缓存: 32K

二级缓存: 1024K

三级缓存: 36608K

NUMA 节点0 CPU: 0-3

Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht 系统调用nx pdpe1gb rdtscp lm Constant_tsc rep_good nopl xtopology nonstop_tsceagerfpu pni pclmulqdq ssse3 fma c x1 6 PC ID sse4_1 sse4_2 x2apic movbe Popcnt tsc_deadline_timer aes xsave avx f16c rdrand 管理程序lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflu shopt clwb av x512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 arat avx512_vnni md_clear spec_ctrl intel_stibp flash_l1d Arch_capability

– – – 内存使用情况 – – –

可用的免费共享增益/缓存总数

Mem: 7.6G 3.7G 1.5G 400M 2.5G 3.3G

互换: 0B 0B 0B

– – – 磁盘使用状态- – –

使用的文件系统大小Avail Use% Mount 目标

devtmpfs 3.9G 0 3.9G 0% /dev

tmpfs 3.9G 0 3.9G 0% /dev/shm

tmpfs 3.9G 401M 3.5G 11%/运行

tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup

/dev/vda1 99G 14G 81G 15% /

tmpfs 783M 0 783M 0% /运行/用户/0

tmpfs 783M 0 783M 0% /运行/用户/1001

—– 网络接口状态—–

1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue 状态未知组默认qlen 1000

链接/环回00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 范围主机lo

永远有效_lft 永远首选_lft

inet6 :1/128 范围主机

永远有效_lft 永远首选_lft

2: eth0: 广播、组播、UP、LOWER_UP mtu 1500 qdisc htb 状态UP 组默认qlen 1000

链接/以太fa:16:3e:2f:45:48 brd ff:ff:ff:ff:ff:ff

inet 192.168.0.138/24 brd 192.168.0.255 范围全局noprefixroute 动态eth0

valid_lft 86266secpreferred_lft 86266sec

inet6 fe80:f816:3eff:fe2f:4548/64 范围链接

永远有效_lft 永远首选_lft

—– 网络连通性测试(ping www.vidisit.cn) —–

PING web.s1267.vhostgo.com (211.149.238.18) 56(84) 字节数据。

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=1 ttl=46 时间=38.3 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=2 ttl=46 时间=38.2 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=3 ttl=46 时间=38.4 ms

来自211.149.238.18 (211.149.238.18): 的64 个字节icmp_seq=4 ttl=46 时间=38.2 ms

— web.s1267.vhostgo.com ping 统计数据—

发送4 个数据包,接收4 个数据包,丢包0%,时间5557 ms

rtt 最小值/平均值/最大值/mdev=38.218/38.306/38.419/0.250 毫秒

—–系统负载—–

21:10:28 最多64 天、40 分钟、1 位用户、平均负载: 0.13、0.19、0.22

=====测试完成=====

结束时间: 7 月26 日星期五21:10:28 CST 2024

[root@ecs-52a1 奎因]#

[root@ecs-52a1 奎因]#

(4)检查报告

当您运行此脚本时,您将获得一个以当前日期和时间命名的文件。该文件包含所有测试结果。

如下所示:

以上脚本均为Linux(centos7)上的实际测试结果。任何人都可以放心使用。

您可以在文章下方找到我的联系信息。用鼠标“点击”下面的“Widist-视频系统微信名片”文字,就会显示我的二维码。欢迎联系、洽谈。

# 上述有关Linux bash 脚本的信息仅供参考,该脚本检查Linux 系统的硬件和网络运行状况并生成检查报告,您可以将其添加到您的记录中。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/94077.html

(0)
CSDN的头像CSDN
上一篇 2024年7月26日 下午9:15
下一篇 2024年7月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注