← back to Designer Wallcoverings

DW-Agents/dw-agents/archive-highlights.sh

48 lines

#!/usr/bin/env bash
# Archive Today's Highlights - Critical Events
# Runs daily to preserve historical data for 3 months

set -euo pipefail

ARCHIVE_DIR="/root/DW-Agents/archives/todays-highlights"
DATE=$(date +%Y-%m-%d)
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)

# Create archive directory if it doesn't exist
mkdir -p "$ARCHIVE_DIR"

echo "📦 Archiving Today's Highlights for $DATE..."

# Fetch current highlights data
curl -s http://localhost:9885/api/highlights > "$ARCHIVE_DIR/highlights_${TIMESTAMP}.json"

# Also save the todays-real-highlights.json
if [ -f /root/DW-Agents/todays-real-highlights.json ]; then
  cp /root/DW-Agents/todays-real-highlights.json "$ARCHIVE_DIR/accomplishments_${TIMESTAMP}.json"
fi

# Create a readable summary file
echo "=== Today's Highlights Archive ===" > "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "Generated: $TIMESTAMP" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "🚨 CRITICAL EVENTS & RECOVERIES" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "================================" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
curl -s http://localhost:9885/api/highlights | jq -r '.critical[] | "[\(.timestamp | split("T")[0])] \(.title)\n  → \(.description)\n"' >> "$ARCHIVE_DIR/summary_${DATE}.txt"

echo "" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "📊 SALES METRICS" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
echo "================" >> "$ARCHIVE_DIR/summary_${DATE}.txt"
curl -s http://localhost:9885/api/highlights | jq -r '.salesMetrics | "Total Orders: \(.totalOrders)\nTotal Revenue: $\(.totalRevenue)\nAverage Order: $\(.averageOrderValue)\nUnique Customers: \(.uniqueCustomers)"' >> "$ARCHIVE_DIR/summary_${DATE}.txt"

# Clean up archives older than 90 days (3 months)
echo "🧹 Cleaning archives older than 90 days..."
find "$ARCHIVE_DIR" -name "*.json" -mtime +90 -delete
find "$ARCHIVE_DIR" -name "*.txt" -mtime +90 -delete

echo "✅ Archive complete: $ARCHIVE_DIR/highlights_${TIMESTAMP}.json"
echo "📄 Summary saved: $ARCHIVE_DIR/summary_${DATE}.txt"

# Count total archives
TOTAL_FILES=$(ls -1 "$ARCHIVE_DIR" | wc -l)
echo "📚 Total archived files: $TOTAL_FILES"