✅ Summary of Changes from the Initial Version
🧩 1. Tag-Based Filtering (Core Feature)
New feature: Only restart instances (VMs or containers) that have the mon-restart tag.
This makes monitoring and auto-restart controllable directly from the Proxmox Web UI, without editing scripts or services.
Set via GUI: VM → Options → Tags → mon-restart
Set via CLI: qm set <vmid> -tags mon-restart or pct set <ctid> -tags mon-restart
This is the primary new control mechanism, making the script safer, more flexible, and user-friendly.
🧰 2. Backward-Compatible Exclusion Mechanism
The original feature that lets you exclude instances via CLI arguments is preserved:
bash
Copy
Edit
./ping-instances.sh 101 300
These IDs will always be skipped regardless of tag.
🧠 3. Intelligent Responsiveness Checks
For VMs:
Uses qm guest cmd <id> ping to check responsiveness via the QEMU guest agent.
No longer relies on network-level ping, which can be misleading or blocked.
For containers (CTs):
Uses traditional ping to IP addresses obtained from pct exec, since CTs don’t support QEMU agent.
⛔ 4. Instance Skipping Improvements
Instances are now skipped if:
They are explicitly excluded via CLI.
They are templates.
They are configured with onboot: 0 or missing.
They lack the mon-restart tag, regardless of other status.
🪵 5. Same Logging Behavior
All output continues to go to /var/log/ping-instances.log for persistent tracking.
Verbose messages were added for traceability (e.g., why a VM or CT was skipped).
🎯 Why This Matters
With tag-based control, admins can now manage restart behavior dynamically from the Proxmox Web UI, making the script:
More secure (no accidental restarts).
More maintainable (no script edits needed).
More user-friendly (integrated with the UI workflow).
Shell option missing, needed to be able to NO/CANCEL the whiptail dialog box. Without it, the script the NO/CANCEL is without funktion and the script will proceed
This shell option is used in the other scripts, but here it is missing.
Shell option missing, needed to be able to NO/CANCEL the whiptail dialog box. Without it NO/CANCEL is without function and the script will proceed.
This shell option is used in the other scripts, but here it is missing.
Also the needed if-statement is missing.