A single-shot Bash script that dumps everything about a Linux server into one Markdown report.
No dependencies. No installation. Just bash sysreport.sh.
# Print to stdout
bash sysreport.sh
# Save to file
bash sysreport.sh report.md| Section | Contents |
|---|---|
| System | OS, kernel, architecture, uptime, load |
| CPU | Model, cores, threads |
| Memory | RAM usage, swap |
| Disk | Partition usage, block devices |
| Network | Interfaces, DNS, public IP |
| Processes | Top by memory, top by CPU |
| Services | Failed units, running user services |
| Packages | dpkg/RPM/snap package counts |
| Docker | Running containers, images |
| Security | Listening ports, recent logins |
| Languages | Python, Node, Go, Rust, Java versions |
| GPU | Graphics hardware |
# Server Report
Generated: 2025-07-24 15:22:01 UTC
Hostname: myserver
## System
- **Kernel:** 6.17.0-1017-aws
- **OS:** Ubuntu 24.04.4 LTS
- **Uptime:** up 2 days, 6 hours
...
- Debugging — paste the output into a support ticket or AI agent
- Server onboarding — document a new machine's baseline
- Inventory — keep a Markdown archive of all your servers
- Before/after changes — run before and after config changes to spot differences
- Bash 4+
- Linux (most commands are optional — missing tools are skipped gracefully)
MIT