From 223b55e15969e608b6b930b235cf0f96718b4685 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 15 Jul 2026 17:31:59 -0400 Subject: [PATCH] =?UTF-8?q?Initial=20commit=20=E2=80=94=202026-07-15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..13f1f7d --- /dev/null +++ b/README.md @@ -0,0 +1,143 @@ +# ITPP Scripts Inventory + +**Generated:** 2026-07-15 +**Total scripts:** 74 (40 shell, 34 Python) +**Location:** `/root/.hermes/scripts/` + +## Backup & Disaster Recovery + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `hermes-backup.sh` | shell | Full Hermes backup to Wasabi S3 | Daily 1 AM | +| `hermes-backup-worker.sh` | shell | Backup task worker | Called by hermes-backup | +| `hermes-live-sync.sh` | shell | Incremental sync to S3 every 15 min | Cron: @every 15m | +| `hermes-standby-watchdog.sh` | shell | Check Core health, trigger failover | app1-bu: @every 10m | +| `hermes-standby-restore.sh` | shell | Restore from S3 on warm standby boot | Boot | +| `hermes-standby.service` | systemd | Warm standby auto-restore service | Boot | +| `hermes-system-config-sync.sh` | shell | Sync system config files to S3 | Cron | +| `hermes-docker-sync.sh` | shell | Sync Docker config to S3 | Cron | +| `hermes-consolidate.sh` | shell | Consolidate backups | Cron | +| `hermes-consolidate.py` | python | Consolidation logic | Cron | +| `root-essentials-backup.sh` | shell | Backup /root essentials to S3 | Cron: daily 3 AM | +| `backup-audit-check.sh` | shell | Audit backup integrity | Cron: daily 2 AM | +| `backup_portal.py` | python | Portal backup logic | Cron | +| `backup-uisp.sh` | shell | UISP/UNMS backup | Cron | +| `unms-backup-sync.sh` | shell | Sync UNMS backup to S3 | Cron: daily 6 AM | +| `unifi-backup-sync.sh` | shell | Sync UniFi controller backups to S3 | Cron: daily 6 AM (2 AM ET) | +| `home-router-backup.sh` | shell | Backup home MikroTik router config | Cron: daily 6 AM | +| `snapshot-hetzner.py` | python | Weekly Hetzner server snapshots | Cron: Mon 5 AM | +| `run-hermes-backup.sh` | shell | Run Hermes backup wrapper | Cron | +| `run-portal-backup.sh` | shell | Run portal backup wrapper | Cron | +| `run-wisp-backup.sh` | shell | Run WISP/CCR backup wrapper | Cron | +| `send-backup-email.py` | python | Send backup status email | Cron | +| `send-backup-readme.py` | python | Send backup README | On-demand | +| `send-recovery.py` | python | Build and send server recovery bundle | On-demand | +| `build-recovery.py` | python | Build recovery documentation | On-demand | +| `send-back-online.sh` | shell | Notify when server comes back online | Reboot trigger | +| `reboot-with-check.sh` | shell | Reboot server with health check | On-demand | + +## Email Automation + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `send-shonuff.py` | python | Send email as Sho'Nuff via mail.germainebrown.com:2525 | On-demand/cron | +| `shonuff-email-responder.py` | python | Auto-respond to emails to shonuff@ | Cron: @every 5m | +| `shonuff-inbox-collect.py` | python | Collect Sho'Nuff inbox for triage | Cron: @every 15m | +| `watch-shonuff-inbox.py` | python | Watch Sho'Nuff inbox | Cron | +| `imap_triage.py` | python | IMAP email triage logic | Cron | +| `imap_triage_autorun.py` | python | Autorun IMAP triage, detect bill-like emails | Cron | +| `imap_triage_collect.sh` | shell | Collect email triage data | Cron | +| `imap_triage_watchdog.sh` | shell | Watchdog for email triage | Cron | +| `dre-mail-poller.py` | python | Poll DRE inboxes (dre@, collections@) | Cron: @every 60s | +| `dre-approval-reminder.sh` | shell | Remind about pending DRE approvals | Cron | +| `bounce-check.py` | python | Check for bounced emails | Cron: @every 60m | +| `boys-mail-monitor.py` | python | Monitor boys' email accounts | Cron | + +## Apex Track + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `apex-mail-watchdog.py` | python | Monitor Apex contact@ mailbox | Cron | +| `apex-mail-watchdog.sh` | shell | Apex mail watchdog wrapper | Cron | + +## FleetTracker360 / GPS + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `ft360-export.py` | python | Export device data + geocoding + ETAs to JSON | Cron: @every 1m | +| `ft360-daily-stats.py` | python | Compute daily travel stats from Traccar H2 | Cron | +| `ft360-route-export.py` | python | Export daily route as GeoJSON | Cron | + +## Security + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `lynis-scan.sh` | shell | Run Lynis security audit on servers | Cron: daily 3 AM | +| `audit-server.sh` | shell | General server audit | On-demand | + +## Monitoring & Health + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `send-dr-email.py` | python | Send disaster recovery status email | Cron | +| `send-dr-v3.py` | python | DR audit v3 email | Cron | +| `send-dr-audit-email.py` | python | DR audit findings email | Cron | +| `service-health-check.sh` | shell | Health check for services | On-demand | +| `vps-threshold-check.sh` | shell | Check VPS resource thresholds | Cron | +| `spend-monitor-collect.sh` | shell | Collect model/API spend data | Cron | +| `model-usage-tracker.sh` | shell | Track model usage metrics | Cron | +| `track-firecrawl.py` | python | Track Firecrawl API usage | Cron | +| `snapshot-hetzner.py` | python | Weekly Hetzner server snapshots | Cron | + +## Ops Portal / Infrastructure + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `ops-data-collector.py` | python | Collect ops data for dashboard | Cron | +| `list-hetzner-servers.py` | python | List all Hetzner servers | On-demand | +| `send-reset-notifications.sh` | shell | Send reset notifications | On-demand | + +## Anita / AI Gateway + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `start-anita.sh` | shell | Start Anita AI gateway | On-demand | +| `start-anita-gateway.sh` | shell | Start Anita gateway | On-demand | +| `restart-anita-gateway.sh` | shell | Restart Anita gateway | On-demand | +| `anita-restart.sh` | shell | Restart Anita | On-demand | + +## Shark Game + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `shark-scraper.sh` | shell | Scrape shark game data | Cron | +| `shark-draft-reminder.sh` | shell | Send draft reminder | Cron | + +## WISP / Router Infrastructure + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `deploy-key.rsc` | routeros | MikroTik SSH key deployment script | On-demand | +| `wisp-backup/wisp-backup.py` | python | WISP backup logic | Cron | +| `wisp-backup/home-router-watchdog.sh` | shell | Home router watchdog | Cron | +| `wisp-backup/home-router-keepalive.sh` | shell | Home router keepalive | Cron | +| `wisp-backup/home-router-vpn.sh` | shell | Home router VPN check | Cron | + +## Misc / Utility + +| Script | Type | Purpose | Schedule | +|---|---|---|---| +| `boxpilot-triage.py` | python | Boxpilot triage | Cron | +| `changelog.sh` | shell | Generate changelog | On-demand | +| `daily-feed-summary.py` | python | Daily news/RSS feed summary | Cron: daily | +| `generate-script-contents.py` | python | Generate script index | On-demand | +| `icloud_bills_calendar.py` | python | Sync iCloud bills to calendar | Cron | +| `mcp-mysql.py` | python | MySQL MCP test script | Test | +| `sync_ringlogix.py` | python | Sync RingLogix data | On-demand | +| `_fetch_body.py` | python | Email body fetcher utility | Called by others | + +## Service Files (systemd) + +| File | Purpose | +|---|---| +| `hermes-standby.service` | Warm standby auto-restore on boot |