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