Files
scripts/README.md
T
2026-07-15 17:31:59 -04:00

144 lines
6.9 KiB
Markdown

# 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 |