rbstatus
Overview
rbstatus is a monitoring script that provides a quick overview of all RecoveryBox services, as well as GPS and system status (CPU, RAM, temperatures).
The script can be called via the command:
rbstatus
A lightweight mode is also available:
rbstatus light
TTY2 display
A cron job is configured to display rbstatus on TTY2 (screen connected to the RecoveryBox). To display the output on a screen, simply switch to TTY2 with Ctrl+Alt+F2. To return to TTY1 (main console), use Ctrl+Alt+F1.
Reported information
Dynamic list
The list of displayed services is dynamic and depends on the services enabled during installation. Only services enabled in /etc/recoverybox/services.json are checked and displayed.
Services
| Indicator | Description | Check type |
|---|---|---|
| Internet Access | Internet connectivity | Ping to Google (8.8.8.8), Cloudflare (1.1.1.1) or Yandex (77.88.8.8) |
| DNS Resolver | DNS resolution | nslookup query to google.com, cloudflare.com or yandex.com |
| Time Sync | Time synchronization | Checks that chrony.service is active |
| AccessPoint | Wi-Fi access point | Checks that ap.service is active |
| Apache Server | Web server | Checks that apache2.service is active |
| PDF Library | Document library | HTTP request to library.recovery.box (expected code 200) |
| OpenWebRX+ | SDR receiver | Checks that openwebrx.service is active |
| Brouter (mapping) | Routing engine | Checks that brouter.service is active |
| TileServer (mapping) | Tile server | Checks that tileserver-gl.service is active |
| Web Console | Administration console | Checks that shellinabox.service is active |
| Meshtastic Web Client | Meshtastic web client | Checks that meshtastic-web.service is active |
| MkDocs Material | Technical wiki | Checks that mkdocs.service is active |
GPS
| Indicator | Description |
|---|---|
| GPS status | Checks that the GPS receives TPV frames via gpspipe |
| GPS fix | Location status: 2D Lock (lat + lon), 3D Lock (lat + lon + alt) or No Fix (not enough satellites) |
| GPS Position | GPS position (latitude, longitude, altitude) |
System
| Indicator | Description |
|---|---|
| CPU Usage | Processor usage (color-coded: green < 60%, orange < 80%, red ≥ 80%) |
| RAM Usage | Memory usage |
| Swap Usage | Swap usage (0% by default with the Debian 13 preseed configuration) |
| Temperatures | Machine thermal sensor temperatures |
Check details
System services (type systemd)
For each service, the script checks:
systemctl is-active: is the service running?systemctl is-enabled: is the service enabled at boot?
| Status | Meaning |
|---|---|
Running |
Service active and enabled |
Critical |
Service inactive or in error |
Disabled |
Service enabled but not started at boot |
HTTP services (type http)
The script performs a curl -I request to the service URL with the appropriate Host header and checks the HTTP response code.
| Status | Meaning |
|---|---|
Running |
HTTP code 200 received |
Critical |
HTTP code other than 200 or timeout |
Network checks (type ping / dns)
- Ping: sends an ICMP packet to 3 servers (Google, Cloudflare, Yandex). Only one needs to respond to pass.
- DNS: performs a name resolution to 3 domains. Only one needs to succeed to pass.
GPS
The script queries gpspipe for 3 seconds and extracts the latest TPV frame (Time-Position-Velocity). The fix mode determines accuracy:
| Mode | Meaning |
|---|---|
3D Lock |
Longitude, latitude, and altitude determined |
2D Lock |
Longitude and latitude only |
No Fix |
Not enough visible satellites |
No GPS device |
No GPS device detected |