sync: auto-sync from GURU-BEAST-ROG at 2026-07-22 16:31:30
Author: Mike Swanson Machine: GURU-BEAST-ROG Timestamp: 2026-07-22 16:31:30
This commit is contained in:
1
.cust3011084.json
Normal file
1
.cust3011084.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1,169 @@
|
|||||||
|
# 2026-07-22 — Janet Altschuler: MSP360 image backup provisioning (both machines)
|
||||||
|
|
||||||
|
## User
|
||||||
|
- **Executed by:** ClaudeTools Discord Bot (GURU-BEAST-ROG)
|
||||||
|
- **Requested by:** Winter Williams (@winterguru, via Discord) - tech
|
||||||
|
- **Role:** automation (acting on the requester's behalf)
|
||||||
|
|
||||||
|
> Thread opener: Winter (@winterguru) — initial backup-status questions.
|
||||||
|
> Provisioning work requested mid-thread by **Howard Enos** (@howard9645).
|
||||||
|
> Discord thread ID: 1529614171128463541.
|
||||||
|
|
||||||
|
## Session Summary
|
||||||
|
|
||||||
|
Winter asked whether Janet Altschuler (GPS client, Syncro cid 457710) has backups on any
|
||||||
|
platform. Wiki + gps-rmm-audit backup-map showed the 2026-07-06 endpoint-verified answer:
|
||||||
|
no backup of any kind on either machine, despite 2 Data Backup seats billed at $0 (Syncro
|
||||||
|
schedule 2666). Re-verified live for her follow-up.
|
||||||
|
|
||||||
|
Howard then requested full provisioning: use the msp360 skill to set up ALTSCHULER-JANE
|
||||||
|
with a scheduled full-image backup + daily incrementals, backup time at end of work day.
|
||||||
|
End-to-end chain built: B2 bucket `ACG-Altschuler` (usage-based, account key) → MSP360
|
||||||
|
company **Janet Altschuler** (`270f5748-cfff-44f2-814f-2f5346677c64`) → backup user
|
||||||
|
`altschulerbackups@azcomputerguru.com` (user id `a65a767c-4c2b-4649-b48b-bc81664ba159`)
|
||||||
|
→ destination assigned via `POST /api/Destinations` with real package 145036 "Data
|
||||||
|
Backup - Usage" ($0.007/GB) → MSP360 agent 8.6.0.338 deployed to ALTSCHULER-JANE via
|
||||||
|
GuruRMM (download + silent `/S` install split into two dispatches after a 600s timeout)
|
||||||
|
→ account added via `cbb.exe addaccount` → image plan created via `cbb.exe
|
||||||
|
addBackupIBBPlan`.
|
||||||
|
|
||||||
|
ALTSCHULER-JANE plan "Image Backup - Daily" (`0eabc5ce`): full system disk (931GB NVMe,
|
||||||
|
573GB used), new backup format, daily block-level incrementals 5:00 PM, monthly synthetic
|
||||||
|
full on the 1st, 30-day retention (`-purge 1m`), runMissed on. First run failed at 0
|
||||||
|
bytes because `-f` volume selection grabbed a 58.6GB removable USB stick; fixed with
|
||||||
|
`editBackupIBBPlan -r` (system-required volumes). Initial full re-started and confirmed
|
||||||
|
landing in B2 (`MBS-a65a767c.../CBB_ALTSCHULER-JANE/` DiskImage archive objects).
|
||||||
|
|
||||||
|
Howard confirmed the API-created account should be kept (he deleted his console-made
|
||||||
|
duplicate) and requested the second machine with modified settings. ALTSCHULER-FRON
|
||||||
|
provisioned identically except: **forever-forward incremental** (`-ffi yes`, one full
|
||||||
|
then incrementals only, no recurring fulls) and **90-day retention** (`-purge 90d`).
|
||||||
|
Plan `6392df33`, full 2TB NVMe system disk, daily 5:00 PM — first full fires on the
|
||||||
|
regular schedule. Licenses auto-assigned on both machines.
|
||||||
|
|
||||||
|
Credential vaulted (`clients/altschuler/msp360-backup-user`), wiki client article updated
|
||||||
|
with the full provisioning record, [RMM] alerts posted to #dev-alerts after each dispatch.
|
||||||
|
|
||||||
|
## Key Decisions
|
||||||
|
|
||||||
|
- **Kept the API-created MSP360 account** over Howard's console-made one (his call — he
|
||||||
|
deleted his); avoids duplicate company/user records.
|
||||||
|
- **B2 bucket-per-client convention** followed: created `ACG-Altschuler` under the
|
||||||
|
existing MSPBackups storage account rather than a new storage account/key.
|
||||||
|
- **Package 145036 "Data Backup - Usage"** used for the destination assignment — the
|
||||||
|
magic values -2/-1/0 seen on existing users are rejected by `POST /api/Destinations`;
|
||||||
|
a real package ID is required.
|
||||||
|
- **Direct `cbb.exe` CLI** for account + plan config instead of the msp360 PowerShell
|
||||||
|
Gallery module — the module download blew the 600s RMM timeout and adds nothing over
|
||||||
|
the branded agent CLI (`C:\Program Files\Arizona Computer Guru\Online Backup\cbb.exe`).
|
||||||
|
- **`-r` (system-required volumes) not `-f` (all fixed)** for image plans — `-f` captured
|
||||||
|
a removable USB stick on JANE. FRON used `-r` from the start.
|
||||||
|
- **JANE: monthly synthetic full + 30d retention; FRON: forever-forward incremental +
|
||||||
|
90d retention** — per Howard's explicit specs per machine.
|
||||||
|
- **5:00 PM daily** = "end of the work day" per Howard.
|
||||||
|
- **No client-side AES encryption** configured (compression only) — not requested;
|
||||||
|
candidate follow-up.
|
||||||
|
|
||||||
|
## Problems Encountered
|
||||||
|
|
||||||
|
- **msp360 skill `create-user` printed "[OK] created user" but the API returned "Bad
|
||||||
|
Request. Check fields of UsersAddModels"** — payload lacked required `Password` (the
|
||||||
|
skill's `--password` flag is optional and the SKILL.md example omits it). Worked around
|
||||||
|
via `raw POST /api/Users` with a full payload. Separate real bug: the skill prints [OK]
|
||||||
|
before validating the response. Logged to errorlog; patch/tracker offer pending with
|
||||||
|
Howard.
|
||||||
|
- **Destination-to-user assignment**: `PUT /api/Users` with DestinationList silently
|
||||||
|
no-ops; `POST /api/Accounts` variants → "Invalid parameters". Correct endpoint is
|
||||||
|
`POST /api/Destinations {UserID, AccountID, Destination, PackageID}` — found via
|
||||||
|
headless-Chrome fetch of the MBS API docs (WebFetch 404'd).
|
||||||
|
- **600s server-side reaper timeout** on the combined module-install + agent-install
|
||||||
|
dispatch (command_id dbb09e1d, status failed, nothing installed). Fixed by splitting:
|
||||||
|
download mbsSetup.exe (25MB, fast) then silent install `/S` as separate dispatches.
|
||||||
|
- **JANE first backup failed instantly (0 bytes)** — `-f` selected a VendorCo 58.6GB
|
||||||
|
exFAT USB stick as a backup source volume. Fixed with `editBackupIBBPlan -r`.
|
||||||
|
- **`editBackupIBBPlan` schedule clobber** — editing only the daily time reset the
|
||||||
|
force-full schedule to a one-time past date; re-adding force-full alone hit a catch-22
|
||||||
|
of parameter errors. Fix: pass both schedule groups (daily + force-full) in one edit.
|
||||||
|
The `-atForceFull '' is not a valid DateTime` stderr during create is cosmetic.
|
||||||
|
- **Monitoring feed lag** — `/api/Monitoring` still showed the old Failed row after the
|
||||||
|
fixed run started; B2 object listing used as ground truth for "backup is flowing".
|
||||||
|
|
||||||
|
## Configuration Changes
|
||||||
|
|
||||||
|
- Created: B2 bucket `ACG-Altschuler` (allPrivate).
|
||||||
|
- Created: MSP360 company `Janet Altschuler` (`270f5748-cfff-44f2-814f-2f5346677c64`),
|
||||||
|
user `altschulerbackups@azcomputerguru.com`, destination (B2 ACG-Altschuler via
|
||||||
|
MSPBackups storage account, package 145036).
|
||||||
|
- Installed: MSP360 backup agent 8.6.0.338 on ALTSCHULER-JANE and ALTSCHULER-FRON
|
||||||
|
(via GuruRMM; installer left at `C:\Temp\mbsSetup.exe` on both — cleanup candidate).
|
||||||
|
- Created backup plans:
|
||||||
|
- ALTSCHULER-JANE: "Image Backup - Daily" `0eabc5ce` — daily 5:00 PM block-level
|
||||||
|
incremental, synthetic full monthly (1st), 30-day retention, runMissed.
|
||||||
|
- ALTSCHULER-FRON: "Image Backup - Daily" `6392df33` — FFI (one full, then
|
||||||
|
incrementals only), daily 5:00 PM, 90-day retention, runMissed.
|
||||||
|
- Modified: `wiki/clients/janet-altschuler.md` — backup section replaced with
|
||||||
|
"PROVISIONED 2026-07-22" record (plan IDs, schedules, retention, vault path, gotchas).
|
||||||
|
- Created: vault entry `clients/altschuler/msp360-backup-user.sops.yaml` (see below).
|
||||||
|
- Appended: `session-logs/bot/2026-07/2026-07-22-bot-activity.md` (Winter's Q&A turns).
|
||||||
|
- Logged: errorlog.md entry for the msp360 false-OK bug.
|
||||||
|
- Temp PS1 dispatch scripts created and deleted (`.mbs-*.ps1`, `.backup-scan.ps1`).
|
||||||
|
|
||||||
|
## Credentials & Secrets
|
||||||
|
|
||||||
|
- **MSP360 backup user** — vaulted at `clients/altschuler/msp360-backup-user.sops.yaml`:
|
||||||
|
login `altschulerbackups@azcomputerguru.com`, password in `credentials:` block,
|
||||||
|
user id `a65a767c-4c2b-4649-b48b-bc81664ba159`, company id
|
||||||
|
`270f5748-cfff-44f2-814f-2f5346677c64`, destination bucket `ACG-Altschuler`.
|
||||||
|
Used by the MSP360 agent on both machines to auth to ACG MBS
|
||||||
|
(api.mspbackups.com / console.msp360.com). Verified encrypted; publishes with this sync.
|
||||||
|
- Vault reads (paths only): `msp-tools/msp360-api.sops.yaml`,
|
||||||
|
`infrastructure/gururmm-server.sops.yaml`,
|
||||||
|
`projects/claudetools/backblaze-b2.sops.yaml`.
|
||||||
|
|
||||||
|
## Infrastructure & Servers
|
||||||
|
|
||||||
|
- GuruRMM API `http://172.16.3.30:3001`; agents: Altschuler-Janet
|
||||||
|
`1379869a-a596-40af-a3a5-30a65ae3cfa4`, Altschuler-Front (resolved live), client
|
||||||
|
`d041b8db-1f68-4b30-9ef9-c7b38f44c079`, site GOLD-LION-1382.
|
||||||
|
- MSP360 MBS API `https://api.mspbackups.com`; console `console.msp360.com`.
|
||||||
|
- Backblaze B2: account `46f69bc61163`, region us-west-001, bucket `ACG-Altschuler`,
|
||||||
|
key `cloudberrykey` (agent side).
|
||||||
|
- Agent install path: `C:\Program Files\Arizona Computer Guru\Online Backup\cbb.exe`.
|
||||||
|
- Licenses auto-assigned: JANE `b6c96a4c...`, FRON `851c3d53...`.
|
||||||
|
|
||||||
|
## Commands & Outputs
|
||||||
|
|
||||||
|
- JANE plan create:
|
||||||
|
`cbb.exe addBackupIBBPlan -n "Image Backup - Daily" -aid e6a5fd5b-914e-43a2-ac3a-f06d098b0a1b -nbf -f -useBlockLevelBackup yes -every day -at "10:00 PM" -everyForceFull dayofmonth -dayForceFull 1 -purge 1m -runMissed yes`
|
||||||
|
then schedule fix + volume fix:
|
||||||
|
`editBackupIBBPlan -id 0eabc5ce... -r -every day -at "5:00 PM" -everyForceFull dayofmonth -dayForceFull 1`
|
||||||
|
- FRON plan create:
|
||||||
|
`cbb.exe addBackupIBBPlan -n "Image Backup - Daily" -aid e6a5fd5b-914e-43a2-ac3a-f06d098b0a1b -nbf -r -useBlockLevelBackup yes -ffi yes -every day -at "5:00 PM" -purge 90d -runMissed yes`
|
||||||
|
- Destination assign: `POST /api/Destinations {UserID, AccountID, Destination, PackageID: 145036}`.
|
||||||
|
- Quote-safe RMM dispatch: `bash .claude/scripts/ps-encoded.sh rmm <agent-id> <script.ps1> --timeout N`.
|
||||||
|
- Timeout failure (before split): command dbb09e1d-59a8-4752-b32e-58a51d1b121a →
|
||||||
|
`failed / Execution error: Command timeout` (server-side reaper, 600s).
|
||||||
|
|
||||||
|
## Pending / Incomplete Tasks
|
||||||
|
|
||||||
|
- Verify both initial full images complete in MSP360 monitoring (check ~2026-07-23;
|
||||||
|
monitoring row lagged at last check). JANE full was in progress; FRON full fires at
|
||||||
|
5:00 PM 2026-07-22.
|
||||||
|
- Awaiting Howard: Syncro ticket on cid 457710 for the provisioning work (offered twice).
|
||||||
|
- Awaiting Howard: msp360 skill patch (validate API response before "[OK]"; add
|
||||||
|
`--password` to SKILL.md example) and/or bug-tracker issue.
|
||||||
|
- Optional cleanup: delete `C:\Temp\mbsSetup.exe` on both endpoints.
|
||||||
|
- Consider enabling client-side AES encryption on both plans (currently compression only).
|
||||||
|
|
||||||
|
## Reference Information
|
||||||
|
|
||||||
|
- Discord thread: 1529614171128463541 (opener Winter; provisioning requested by Howard).
|
||||||
|
- Syncro customer: 457710 (Janet Altschuler — distinct from JANC Excavation 2248945);
|
||||||
|
billing schedule 2666 (2 Data Backup seats @ $0).
|
||||||
|
- Wiki: `wiki/clients/janet-altschuler.md`; audit history:
|
||||||
|
`projects/gps-rmm-audit/backup-map.md`, `projects/gps-rmm-audit/tracker.md`.
|
||||||
|
- MSP360 company `270f5748-cfff-44f2-814f-2f5346677c64`; user
|
||||||
|
`a65a767c-4c2b-4649-b48b-bc81664ba159`; storage account
|
||||||
|
`e6a5fd5b-914e-43a2-ac3a-f06d098b0a1b`; package 145036 "Data Backup - Usage".
|
||||||
|
- Plan IDs: JANE `0eabc5ce` (Image Backup - Daily), FRON `6392df33-5aaf-433f-ac4e-18da8f7a6aab`.
|
||||||
|
- B2 prefix: `MBS-a65a767c-4c2b-4649-b48b-bc81664ba159/CBB_<HOSTNAME>/`.
|
||||||
12
errorlog.md
12
errorlog.md
@@ -19,6 +19,18 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure ·
|
|||||||
|
|
||||||
<!-- Append entries below this line -->
|
<!-- Append entries below this line -->
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | create-user prints [OK] before validating API response - API returned 'Bad Request. Check fields of UsersAddModels' but success message printed (false positive); root cause of failed call was operator omitting --password (optional CLI flag, required by API; SKILL.md example omits it) [ctx: cmd=create-user fix=validate response + add --password to SKILL.md example]
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | POST /api/Destinations -> HTTP 400: {'Message': 'The request is invalid.', 'ModelState': {'addDestination': ["Required property 'PackageID' not found in JSON. Path '', line 1, position 136."]}} [ctx: command=raw]
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | POST /api/Destinations -> HTTP 400: {'Message': "Limit with id '-1' not found"} [ctx: command=raw]
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | POST /api/Destinations -> HTTP 400: {'Message': "Limit with id '0' not found"} [ctx: command=raw]
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | POST /api/Destinations -> HTTP 400: {'Message': "Limit with id '-2' not found"} [ctx: command=raw]
|
||||||
|
|
||||||
|
2026-07-22 | GURU-BEAST-ROG | msp360 | POST /api/Accounts -> HTTP 400: {'_raw': 'Invalid parameters'} [ctx: command=raw] (x3)
|
||||||
|
|
||||||
2026-07-22 | GURU-5070 | unifi-wifi/apply-radio | [friction] remote 5GHz channel move on a wireless mesh (wired-root U7-Mesh, EcoSense) dropped both mesh children on 1st attempt (Eli's re-attached then fell off, Mobile Park never re-acquired -> outage, rolled back to 36); succeeded on retry only after the flapping/churning nodes were out of the mesh. Marginal-backhaul children can't blind-rescan+re-acquire a channel-hopped root reliably. Fix: do wired-root mesh 5GHz channel hops with onsite hands, or fix weak backhaul first [ctx: site=EcoSense band=na from=36 to=149 root=South-Office weaklink=Mobile-Park]
|
2026-07-22 | GURU-5070 | unifi-wifi/apply-radio | [friction] remote 5GHz channel move on a wireless mesh (wired-root U7-Mesh, EcoSense) dropped both mesh children on 1st attempt (Eli's re-attached then fell off, Mobile Park never re-acquired -> outage, rolled back to 36); succeeded on retry only after the flapping/churning nodes were out of the mesh. Marginal-backhaul children can't blind-rescan+re-acquire a channel-hopped root reliably. Fix: do wired-root mesh 5GHz channel hops with onsite hands, or fix weak backhaul first [ctx: site=EcoSense band=na from=36 to=149 root=South-Office weaklink=Mobile-Park]
|
||||||
|
|
||||||
2026-07-22 | GURU-5070 | grok | grok review returned no result [ctx: mode=review-files session= stopReason=]
|
2026-07-22 | GURU-5070 | grok | grok review returned no result [ctx: mode=review-files session= stopReason=]
|
||||||
|
|||||||
3
session-logs/bot/2026-07/2026-07-22-bot-activity.md
Normal file
3
session-logs/bot/2026-07/2026-07-22-bot-activity.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
18:09 AZ - Winter - password reset matilde@amtransit.com - CANCELLED by requester; blocked anyway (tenant not onboarded: no app consent, no vault creds, not in CIPP; consent URLs provided in thread 1529550274375450795)
|
||||||
|
22:21 AZ - Winter - Altschuler backup status query - answered from wiki/gps-audit: confirmed NOT backing up on any platform (endpoint-verified 2026-07-06), billed 2 seats at $0; offered re-scan
|
||||||
|
22:23 AZ - Winter - Altschuler backup status (live re-scan) - RMM scan both machines: still no backup software/WSB/tasks; Dropbox+OneDrive sync only (Front), stopped Toshiba OEM util (Janet); cmds 180b6825/fcc2ddfa
|
||||||
@@ -45,15 +45,25 @@ Merc Desktop", cid 457710) all with `last_synced: None` — manually-entered, so
|
|||||||
## GPS billing & backup status
|
## GPS billing & backup status
|
||||||
|
|
||||||
- GPS: 2 devices billed. Backup: **2 Data Backup seats billed at $0** (Syncro schedule 2666).
|
- GPS: 2 devices billed. Backup: **2 Data Backup seats billed at $0** (Syncro schedule 2666).
|
||||||
- **Backup: CONFIRMED NOT RUNNING (2026-07-06, endpoint-verified).** With RMM on both
|
- **Backup: PROVISIONED 2026-07-22 (MSP360 image-based, both machines)** — requested by
|
||||||
machines, a direct scan found **no backup software, no backup service, no scheduled
|
Howard via Discord bot after the 2026-07-06 audit confirmed nothing was backing up.
|
||||||
backup task, no Windows Server Backup, and no Datto backup agent** on either box (only
|
- MSP360 company **Janet Altschuler** (`270f5748-cfff-44f2-814f-2f5346677c64`), backup
|
||||||
Dropbox on ALTSCHULER-FRON, installed but stopped). Also nothing in MSP360 / B2 / Seafile
|
user `altschulerbackups@azcomputerguru.com` (vault:
|
||||||
/ ownCloud / Datto Workplace. No Datto Windows Agent + two physical workstations (no
|
`clients/altschuler/msp360-backup-user`), agent 8.6.0.338 on both machines.
|
||||||
server) effectively rules out an agentless SIRIS backup too. **She pays for 2 backup
|
- Storage: B2 bucket **ACG-Altschuler** via MSPBackups storage account, usage-based
|
||||||
seats but nothing is backing up.** Sent to Mike + Winter 2026-07-06. Do NOT provision a
|
package ($0.007/GB).
|
||||||
backup job off the billing count — per-client decision
|
- **Altschuler-Janet** — plan "Image Backup - Daily" (`0eabc5ce`): full system disk
|
||||||
([[feedback_backup_targets_never_guessed]]). See `projects/gps-rmm-audit/backup-map.md`.
|
(931GB NVMe, 573GB used), daily block-level incrementals 5:00 PM, monthly synthetic
|
||||||
|
full on the 1st, 30-day retention, runMissed on. Gotcha: initial `-f` volume select
|
||||||
|
grabbed a USB stick; fixed with `-r` (system-required).
|
||||||
|
- **Altschuler-Front** — plan "Image Backup - Daily" (`6392df33`): full system disk
|
||||||
|
(2TB NVMe), **forever-forward incremental** (one full then incrementals only), daily
|
||||||
|
5:00 PM, **90-day retention**, runMissed on.
|
||||||
|
- Initial fulls started 2026-07-22 evening; verify completion in MSP360 monitoring.
|
||||||
|
- No client-side AES encryption (compression only) as of setup.
|
||||||
|
- Prior state (2026-07-06 endpoint-verified): no backup software/service/task/WSB/Datto
|
||||||
|
agent on either box; nothing in MSP360/B2/Seafile/ownCloud/Datto Workplace. History:
|
||||||
|
`projects/gps-rmm-audit/backup-map.md`.
|
||||||
|
|
||||||
## Backlinks
|
## Backlinks
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user