sync: auto-sync from HOWARD-HOME at 2026-07-06 09:41:46

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-06 09:41:46
This commit is contained in:
2026-07-06 09:42:14 -07:00
parent e08f6c534e
commit c1706393b9
5 changed files with 124 additions and 225 deletions

View File

@@ -1,130 +1,117 @@
# GPS Backup Verification — Per-Customer Destination Map
# GPS Backup Verification — Per-Customer Destination + Status Map
**Purpose:** Resolve every billed GPS "Data Backup" line to a real, *working* destination.
Feeds Phase 4 of the GPS -> GuruRMM coverage audit. See `wiki/projects/gps-rmm-audit.md`.
**Purpose:** For every GPS client, resolve the billed backup line to a real, *working*
destination and verify a machine is actually backing up. Phase 4 of the GPS -> GuruRMM
audit. See `wiki/projects/gps-rmm-audit.md`.
- Built 2026-07-05 (Howard). Sources: **MSP360 MBS API (authoritative backup layer)** +
B2 (destination) + Seafile + ownCloud. Datto Workplace pending Mike's super-admin key.
- **MSP360 is the source of truth for "is it backing up":** `/api/Monitoring` reports every
backup plan (computer, last run, status, data) across 37 companies / 66 plans. B2 buckets
are just where the Cloud plans land. Creds: `msp-tools/msp360-api.sops.yaml`.
- Billed-backup flags from tracker.md `Svc` column (B = Data Backup billed).
- Reconciliation note: bucket presence != a backup ran. MSP360 `LastStart` + `Status` is the
real signal — used below.
- Last verified: **2026-07-06 (Howard)**. Sources (all live):
- **Syncro recurring schedules** = authoritative "billed backup seats" (Data Backup line
qty per client). Pulled 2026-07-06 across all 40 GPS customers.
- **MSP360 MBS `/api/Monitoring`** = authoritative "is it backing up" (per-machine last
run + status). Via the `msp360` skill.
- **B2 / Seafile / ownCloud** = destination/backend detail. **Datto Workplace pending**
Mike's super-admin key.
- **Only 16 of 40 GPS clients actually bill a backup line** (Syncro-verified). The tracker's
old `Svc=B` flags were wrong for several — corrected here.
- Rule (Howard): a client passes if a machine is currently backing up per the billed seats;
old restore points sitting in a bucket are fine as long as something current runs. Seat
vs machine mismatches are a BILLING question for Mike/Winter, not a deploy instruction
([[feedback_backup_targets_never_guessed]]).
---
## 1. Billed-backup GPS clients (Svc = B) -> verified status
## 1. Billed-backup clients (16) — seats vs machines actually backing up
20 of the 40 active GPS clients bill a Data Backup line.
| Client | Seats | $/mo | Current backups | Verdict |
|--------|:-----:|:----:|-----------------|---------|
| Dataforth Corp | 7 | 95 | 7 machines daily (AD1/AD2/…) | **OK** |
| Valley Wide Plastering | 4 | 60 | VWP-FILES/QBS/SERVER/WINFileSvr | **OK** (VWP-SERVER has a bogus 2051 timestamp — cosmetic) |
| Curtis Plumbing | 2 | 50 | CP-QB + SRV02 daily | **OK** |
| Ridgetop Group | 1 | 0 | RGI-DC | **OK** |
| Brett Interiors | 1 | 15 | Server image daily | **OK** |
| Gary A Hartman LLC | 1 | 20 | DESKTOP-EVA4H1A | **OK** |
| Mineralogical Record | 1 | 10 | ownCloud `minrec` (98 GB) | **OK — confirm** ownCloud sync-active (slow query pending) |
| Jimmy Company | 12 | 240 | Blaster2 only (1 machine) | **REVIEW** — 12 seats billed, 1 machine (known 12/1 anomaly) |
| Glaz-Tech Industries | 2 | 45 | GTI-FINANCESVR current; **GTI-INV-VMHOST 251d stale** | **REVIEW** — 2 seats, 1 truly current |
| Grabb & Durando Law | 1 | 49 | GND-SERVER cloud plan **failing / 0 bytes (flapping)** | **NOT BACKING UP** |
| Bill Tedards | 1 | 45 | DESKTOP-SUFJR0J **last good 359d ago** | **NOT BACKING UP** (stale ~12 mo) |
| Arizona Medical Transit | 1 | 0 | MSP360 company exists, **0 plans** | **NOT BACKING UP** |
| Reliant Well Drilling | 1 | 40 | none found (no MSP360/B2/Seafile/ownCloud) | **HELD — unconfirmed** (Datto key) |
| The Prairie Schooner | 1 | 10 | none found | **HELD — unconfirmed** (Datto key) |
| Janet Altschuler | 2 | 0 | none found | **HELD — unconfirmed** (Datto key) |
| Design and Brand Envoys | 1 | 0 | none found | **HELD — unconfirmed** (Datto key) |
| Client | Bkt | Backing up? | Evidence (MSP360 unless noted) | Verdict |
|--------|:---:|:-----------:|-------------------------------|---------|
| Dataforth Corp | A | YES | 12 plans, AD1/AD2/etc daily Success (-> `ACG-Dataforth`) | RESOLVED |
| Valley Wide Plastering | A | YES | 4 plans, VWP-* daily Success (-> `VWP-Backup`) | RESOLVED |
| Arizona Medical Transit | A | **NO** | MSP360 company exists, **0 backup plans** | **FINDING: billed, not backing up** |
| Glaz-Tech Industries | B | PARTIAL | GTI-FINANCESVR daily Success; **GTI-INV-VMHOST last 2025-10-26 (stale)** (-> `ACG-GLAZTECH`) | RESOLVED (1 server stale) |
| Jimmy Company | B | YES | Blaster2 Cloud Success; local plans failing (disk full) | RESOLVED (billing flag: 12 billed/1 box) |
| Horseshoe Management | B | YES | HSM-NewServer daily Success (-> `Horseshoe`) | RESOLVED |
| Grabb & Durando Law | B | **NO** | GND-SERVER Cloud plan **status=Failed, 0 bytes** | **FINDING: backup failing** |
| Quantum Wealth Mgmt | B | ? | **No MSP360 company** | MISSING — Datto candidate |
| Reliant Well Drilling | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Curtis Plumbing | C | YES | CP-QB + SRV02 daily Success | RESOLVED |
| The Prairie Schooner | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Mineralogical Record | C | YES | ownCloud `minrec` (98 GB) | RESOLVED (ownCloud) |
| T & C Sorensen | C | **NO** | MSP360 company "Sorensen" exists, **0 plans** (ACG-TCA is NOT theirs — see §3) | **FINDING: billed, not backing up** |
| Ridgetop Group | C | YES | RGI-DC Cloud Success | RESOLVED |
| Brett Interiors | C | YES | Server image daily Success (-> `ACG-Brett`) | RESOLVED |
| Bill Tedards | C | **STALE** | Tedards DESKTOP-SUFJR0J last Success **2025-07-12 (~1 yr ago)** | **FINDING: backup stale ~12 mo** |
| Janet Altschuler | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Business Svcs of Tucson | C | YES | KAT1 Local Profile Success (-> `ACG-BST` + ownCloud `bst`) | RESOLVED |
| Design and Brand Envoys | C | ? | **No MSP360 company** | MISSING — Datto candidate |
| Gary A Hartman LLC | C | YES | Hartman DESKTOP-EVA4H1A backing up (path warnings) | RESOLVED |
**Rollup (16 billed):** 7 OK · 2 REVIEW (seat>machine) · 3 NOT BACKING UP (Grabb, Tedards,
AMT) · 4 HELD-unconfirmed pending Datto Workplace enumeration.
**Tally (20):** 11 RESOLVED (actively backing up) · 4 FINDINGS (destination exists but
broken) · 5 MISSING (no destination anywhere — Datto candidates).
- **MISSING (5) — check once Datto enumerates:** Quantum Wealth, Reliant Well Drilling,
The Prairie Schooner, Janet Altschuler, Design and Brand Envoys. If not Datto users, these
are billed-but-unbacked.
The 4 HELD are billed for backup but have no destination in any backend we can currently
read. They are **not** flagged as failing — they may be Datto Workplace users. Re-check the
moment Mike enables the super-admin API key:
`py .claude/skills/datto-workplace/scripts/datto_workplace.py projects --json`.
---
## 2. Backup-health findings (billed + configured, but NOT protected right now)
## 2. Revenue leak — backing up but NOT billed for backup (GPS clients)
These are the highest-priority operational findings — the client pays for backup and a
destination/company exists, but no good recent restore point is being produced.
Machine actively backing up in MSP360, but Syncro has **no Data Backup line**. Bill vs
decommission = Mike/Winter decision (HELD, nothing sent).
| Client | Machine | Problem | Last good backup |
|--------|---------|---------|------------------|
| Arizona Medical Transit | — | MSP360 company but **zero plans** configured | never |
| T & C Sorensen | — | MSP360 company "Sorensen" but **zero plans** | never |
| Grabb & Durando | GND-SERVER | Cloud plan **Status=Failed, 0 bytes** | check console for last success |
| Bill Tedards | DESKTOP-SUFJR0J | Backing up but **last success ~2025-07-12** (~12 mo stale) | 2025-07-12 |
| Glaz-Tech | GTI-INV-VMHOST | Second server image **last 2025-10-26** (~8 mo stale); GTI-FINANCESVR is current | 2025-10-26 |
| Len's Auto | LAB-SVR | IMAGE last 2026-06-07, FILES last 2026-06-17 — matches tracker "LAB-SVR offline since 2026-06-18" | 2026-06-17 |
| Client | Backing up | Backend |
|--------|-----------|---------|
| Cascades of Tucson | CS-SERVER daily | B2 `ACG-Cascades` |
| Len's Auto Brokerage | LAB-SVR (now stale) | B2 `ACG-Lens` |
| Russo Law Firm | RUSSO-SRV (2.7 TB) + Seafile 2.2 TB | Cloud + Seafile |
| Horseshoe Management | HSM-NewServer daily | B2 `Horseshoe` |
| Business Services of Tucson | KAT1 daily | B2 `ACG-BST` + ownCloud `bst` |
Also non-GPS but worth a note to Mike: **Peaceful Spirit** PST-SERVER Files plan
**Status=Failed** (0 bytes) despite 22K historical files in `ACG-PST`; **Desert RV**
local-storage plan Critical (E:\ unreachable). These are outside GPS scope.
Also non-GPS (outside audit scope): The Marc Group (ownCloud, billed email only), + the
orphan destinations in §4.
## 2b. $0-priced backup lines (billed a seat at $0 — bundled or under-billed)
Ridgetop Group, Janet Altschuler, Design & Brand Envoys, Arizona Medical Transit — each has
a Data Backup line at $0 `price_retail`. Flag for Mike/Winter (bundled deliberately, or
should be billing?).
## 2c. Corrections vs the (deleted) 2026-07-05 Winter message
The weekend findings DM to Winter was deleted 2026-07-06 (wrong). Key corrections now:
- **T&C Sorensen** and **Quantum Wealth** do NOT bill for backup — not backup concerns.
- **Business Services of Tucson**: not billed but IS backing up -> a leak (§2), not a gap.
- **Mineralogical Record**: billed + on ownCloud (message wrongly said "nothing running").
- `ACG-TCA` = Tucson Coin & Autograph, NOT T&C Sorensen; `ACG-PST` = Peaceful Spirit.
---
## 3. Revenue-leak / billing-mismatch (data landing, backup NOT billed) — held for Mike/Winter
## 3. Backend destinations (reference)
| Client | Destination | Billed Svc | Note |
|--------|-------------|:----------:|------|
| Cascades of Tucson | MSP360 CS-SERVER -> `ACG-Cascades` (active Success) | A E V | Backing up, **no B line billed** |
| Len's Auto Brokerage | MSP360 LAB-SVR -> `ACG-Lens` | E | Has backups, no B line (and LAB-SVR now stale) |
| Russo Law Firm | MSP360 RUSSO-SRV -> Cloud (2.7 TB) + Seafile `russo@rrs-law.com` (2.2 TB) | A E V | Backing up + 2.2 TB Seafile, **no B line** |
| The Marc Group | ownCloud `themarcgroup` (29 GB) | E | 29 GB stored, billed email only |
- **MSP360/B2 Cloud plans**: the bulk of GPS backups. Bucket = destination; MSP360 = truth.
- **Seafile**: Russo (russo@rrs-law.com, 2.2 TB) among GPS; rest non-GPS/internal.
- **ownCloud**: Mineralogical (`minrec`), The Marc Group (`themarcgroup`), Business Svcs
(`bst`); `pavon` 14.2 TB = video archive, not a backup.
- **Datto Workplace**: Birth Biologic confirmed (RMM detection); full enumeration pending
Mike's super-admin key. The 4 HELD clients in §1 are the ones to check there.
---
## 4. Orphan destinations — identified (non-GPS / internal / stale)
## 4. Orphan destinations — identified (non-GPS clients / ACG internal / stale)
All resolved via MSP360 company names + IX cPanel map + client wiki. None are GPS gaps.
**Now identified (were unknown):**
- `ACG-PST` (22,054 files) = **Peaceful Spirit** (MSP360 PST-SERVER; current plan failing).
- `ACG-TCA` (404 files) = **Tucson Coin and Autograph** (MSP360 DESKTOP-P36LUUN + Seth-PC,
both Success). NOT T&C Sorensen.
- `ownCloud mara` / `jburger` — still unidentified (small; low priority).
**Non-GPS clients with active MSP360 backups (not audit gaps):** Financial Safeguards
(FSG-SRV-02 **active** — the `MSPBackups20200311` bucket is stale but FSG uses a current
one), Rednour Law (`ACG-REDNOUR`), Rohrbach (`ACG-Rohrbach` + ownCloud), Martell &
Associates (ownCloud `Martell`), Universal Cryogenics, Tucson Coin & Autograph, Tucson
Safety and Medical (last 2026-02-25 — stale), Khalsa Montessori, LaHC, Desert RV, Anaise,
Peaceful Spirit.
**ACG internal:** `ACG-Internal`, `ACG-Tech03L-Backup`, ownCloud `sysadmin`, Seafile
`mike`/`howard`, MSP360 ACG-Internal (NEPTUNE Exchange backup).
**Not a backup:** ownCloud `pavon` (14.2 TB) — Pavon video-surveillance archive, ownCloud
is source of truth (`wiki/clients/pavon.md`).
**Stale / cleanup (Mike's call):** `MSPBackups20200311` (ex-client FSG, 2021).
---
## 5. Datto Workplace (enumeration pending Mike's super-admin key)
- Confirmed via RMM detection: Birth Biologic (`ACG-DWP-X-BB`, `BB-*`/`KSTEEN*`/`EVO-X1`).
- When the key lands: `py .claude/skills/datto-workplace/scripts/datto_workplace.py projects --json`,
then check the 5 MISSING clients (§1) against it.
`ACG-PST`=Peaceful Spirit (22k files) · `ACG-TCA`=Tucson Coin & Autograph · `ACG-REDNOUR`=
Rednour Law · `ACG-Rohrbach`=Rohrbach · `ACG-IX`/`ACG-Internal`/`ACG-Tech03L`=ACG internal ·
`MSPBackups20200311`=stale ex-client FSG (deletion candidate) · Seafile Stoltz Law / Sonoran
Glass = non-GPS · ownCloud `mara`/`jburger` = still unidentified.
---
## Next actions
1. **Datto (blocked on Mike):** enumerate; resolve the 5 MISSING — Quantum Wealth, Reliant,
Prairie Schooner, Janet Altschuler, Design & Brand Envoys.
2. **Backup-health findings (§2) — operational, fix these:** AMT + T&C Sorensen have no
backup plans at all; Grabb GND-SERVER failing; Bill Tedards ~12 mo stale; Glaz-Tech
GTI-INV-VMHOST ~8 mo stale; Len's LAB-SVR stale (offline). Route per client.
3. **Held for Mike/Winter (§3):** Cascades/Len's unbilled backups; Russo 2.7 TB Cloud + 2.2 TB
Seafile no B line; Marc Group ownCloud.
4. **Cleanup:** confirm `MSPBackups20200311` (FSG) for deletion; identify ownCloud `mara`/`jburger`.
5. Optional: build a small `msp360` read-only skill (login + Monitoring) — this pass was done
via direct API; a skill would make backup-status checks repeatable for the whole fleet.
1. **Datto (blocked on Mike):** enumerate; resolve the 4 HELD — Reliant, Prairie Schooner,
Janet Altschuler, Design & Brand Envoys.
2. **Not backing up — operational, route per client (HELD for Mike/Winter, not sent):**
Grabb GND-SERVER failing (0 bytes); Bill Tedards ~12 mo stale; AMT 0 plans; Glaz-Tech
GTI-INV-VMHOST 251d.
3. **Confirm Mineralogical** ownCloud `minrec` is sync-active (ownCloud usage query is slow).
4. **Billing questions (HELD, Mike/Winter):** the 5 leaks (§2), the $0 lines (§2b), Jimmy
12/1 seat gap.
5. Nothing outbound until Howard releases — the weekend Winter DM was deleted as wrong.
*Data: `gps-clients.json` (40 clients + cids). Backup-status source: `msp360` skill +
memory `[[reference_msp360_backup_monitoring]]`.*