OS Inspection Toolkit

操作系统巡检脚本

下载对应操作系统的自动巡检脚本,在目标设备上一键采集硬件配置、系统状态、错误日志与性能快照,输出统一的巡检数据包,用于例行健康巡检与故障预防。

  • 纯只读采集,不修改任何系统配置
  • 明文脚本,可在执行前自行审计每一条命令
  • 无需安装额外软件,使用系统自带命令

选择操作系统

每个脚本头部都标注了适用版本、执行方式与输出位置;执行结束后会在终端打印巡检数据包的完整路径。

Linux

RHEL / CentOS / Rocky / Ubuntu / Debian / SLES / openEuler / 麒麟 / 统信UOS 等主流发行版

脚本文件
linux-pm.sh 6 KB
执行命令
sudo bash linux-pm.sh
输出位置
/tmp/<hostname>.<serial>.pm-<time>.tar.gz

建议以 root 执行;非 root 也能运行,但硬件序列号、SMART、IPMI 等信息会缺失。

下载脚本

Windows Server

Windows Server 2012 R2 / 2016 / 2019 / 2022 / 2025(PowerShell 5.1+)

脚本文件
windows-pm.ps1 8 KB
执行命令
powershell -ExecutionPolicy Bypass -File windows-pm.ps1
输出位置
%TEMP%\<hostname>.<serial>.pm-<time>.zip

请在“以管理员身份运行”的 PowerShell 中执行;-ExecutionPolicy Bypass 仅对本次进程生效,不修改系统策略。

下载脚本

VMware ESXi

ESXi 6.5 / 6.7 / 7.0 / 8.0(需开启 ESXi Shell 或 SSH)

脚本文件
vmware-esxi-pm.sh 5 KB
执行命令
sh vmware-esxi-pm.sh [datastore-dir]
输出位置
<datastore>/<hostname>.<serial>.pm-<time>.tgz

输出目录默认取第一个数据存储(/tmp 是内存盘、空间有限);需要完整官方支持包时请使用 vm-support。

下载脚本

IBM AIX

AIX 5.3 / 6.1 / 7.1 / 7.2 / 7.3,IBM Power 小型机独立分区或 LPAR

脚本文件
aix-pm.sh 17 KB
执行命令
ksh aix-pm.sh
输出位置
/tmp/<hostname>.<lpar>.<serial>.tar.Z

以 root 执行;检测到 HACMP/PowerHA 时会额外采集集群拓扑与资源组快照。

下载脚本

Oracle Solaris

Solaris 10 / 11(SPARC 与 x86),建议在全局区执行

脚本文件
solaris-pm.sh 4 KB
执行命令
ksh solaris-pm.sh
输出位置
/var/tmp/<hostname>.<serial>.pm-<time>.tar.gz

覆盖 ZFS 存储池、SVM、FMA 故障管理与区(Zones)清单;性能采样约 30 秒。

下载脚本

HP-UX

HP-UX 11i v2 / v3(PA-RISC 与 Itanium)

脚本文件
hpux-pm.sh 5 KB
执行命令
sh hpux-pm.sh
输出位置
/var/tmp/<hostname>.<serial>.pm-<time>.tar.gz

覆盖 LVM 卷组、ioscan 设备树与 Serviceguard 集群状态(如有);性能采样约 30 秒。

下载脚本

使用说明

三步完成一台设备的巡检;示例中的 IP、主机名与路径请替换为实际环境的值。

上传脚本到目标服务器

Linux / AIX / Solaris / HP-UX / ESXi 使用 scp 或 sftp 上传;Windows 可直接通过远程桌面复制,或用 PowerShell 远程会话推送。

Linux / UNIX / ESXi
# upload via scp (sftp / bastion file transfer works the same)
scp linux-pm.sh root@192.168.1.10:/tmp/
Windows
# copy via RDP clipboard, or push from an admin host with PowerShell
$s = New-PSSession -ComputerName 192.168.1.20
Copy-Item .\windows-pm.ps1 -Destination C:\Temp\ -ToSession $s

无法直连的隔离网络,可经堡垒机中转,或用 U 盘等介质拷贝到目标设备。

在设备上执行脚本

以 root / 管理员身份执行;脚本运行 1~3 分钟(含约 30 秒性能采样),结束后在终端打印巡检数据包路径,取回该文件即可。

Linux / UNIX / ESXi
ssh root@192.168.1.10
bash /tmp/linux-pm.sh          # use ksh on AIX/Solaris, sh on HP-UX/ESXi
# ... Inspection data saved to /tmp/host01.SN123.pm-20260705_100000.tar.gz

# fetch the inspection archive back to your workstation
scp root@192.168.1.10:/tmp/host01.*.tar.gz ./results/
Windows
# run inside an elevated (Administrator) PowerShell
powershell -ExecutionPolicy Bypass -File C:\Temp\windows-pm.ps1
# ... Inspection data saved to C:\Users\...\Temp\HOST01.SN123.pm-20260705_100000.zip

批量巡检多台设备

把主机清单写入文本文件(每行一个 IP 或主机名),用循环、Ansible 或 PowerShell 远程命令统一分发执行,再统一取回结果。

SSH 循环(适合几台~几十台)
# hosts.txt: one IP per line; SSH key login recommended
mkdir -p results
for h in $(cat hosts.txt); do
  scp linux-pm.sh root@$h:/tmp/ && \
  ssh root@$h "bash /tmp/linux-pm.sh" && \
  scp root@$h:/tmp/*.pm-*.tar.gz results/
done
Ansible(适合已有自动化环境)
# the script module pushes the local script to remotes and runs it
ansible all -i hosts.txt -m script -a "linux-pm.sh" --become
# fetch archives with the scp loop above, or find + fetch in a playbook
Windows PowerShell
# requires WinRM (enabled by default in domain environments)
Invoke-Command -ComputerName (Get-Content hosts.txt) -FilePath .\windows-pm.ps1

注意事项

  • 脚本只读取系统信息,不写入、不重启服务、不修改配置;所有命令均为明文,可在执行前审计。
  • 性能采样(sar / vmstat / iostat)约持续 30 秒,对系统负载影响极小,但仍建议避开重大变更窗口执行。
  • 巡检数据包包含主机配置、网络参数与系统日志,请按公司安全规范存储与传递,避免外发到不受控环境。
  • 脚本执行完成后会自动清理临时目录,仅保留最终压缩包;确认取回后可删除设备上的压缩包。