97 lines
2.2 KiB
Bash
97 lines
2.2 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Automated maintenance tasks
|
||
|
|
# Usage: ./maintenance-automation.sh [daily|weekly|monthly]
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||
|
|
|
||
|
|
MAINTENANCE_TYPE="${1:-daily}"
|
||
|
|
|
||
|
|
# Daily maintenance
|
||
|
|
daily_maintenance() {
|
||
|
|
echo "=== Daily Maintenance ==="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Health check
|
||
|
|
echo "1. Running health check..."
|
||
|
|
bash "$SCRIPT_DIR/health-check.sh"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Generate report
|
||
|
|
echo "2. Generating daily report..."
|
||
|
|
bash "$SCRIPT_DIR/generate-bridge-report.sh daily"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Check for alerts
|
||
|
|
echo "3. Checking for alerts..."
|
||
|
|
bash "$SCRIPT_DIR/automated-monitoring.sh"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "✅ Daily maintenance complete"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Weekly maintenance
|
||
|
|
weekly_maintenance() {
|
||
|
|
echo "=== Weekly Maintenance ==="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Run all tests
|
||
|
|
echo "1. Running test suite..."
|
||
|
|
bash "$SCRIPT_DIR/test-suite.sh all"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Generate weekly report
|
||
|
|
echo "2. Generating weekly report..."
|
||
|
|
bash "$SCRIPT_DIR/generate-bridge-report.sh weekly"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Review logs
|
||
|
|
echo "3. Reviewing logs..."
|
||
|
|
find "$PROJECT_ROOT/logs" -name "*.log" -mtime -7 -exec ls -lh {} \;
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "✅ Weekly maintenance complete"
|
||
|
|
}
|
||
|
|
|
||
|
|
# Monthly maintenance
|
||
|
|
monthly_maintenance() {
|
||
|
|
echo "=== Monthly Maintenance ==="
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Comprehensive review
|
||
|
|
echo "1. Comprehensive system review..."
|
||
|
|
bash "$SCRIPT_DIR/health-check.sh"
|
||
|
|
bash "$SCRIPT_DIR/test-suite.sh all"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Generate monthly report
|
||
|
|
echo "2. Generating monthly report..."
|
||
|
|
bash "$SCRIPT_DIR/generate-bridge-report.sh monthly"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Cleanup old logs
|
||
|
|
echo "3. Cleaning up old logs..."
|
||
|
|
find "$PROJECT_ROOT/logs" -name "*.log" -mtime +30 -delete
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Review dependencies
|
||
|
|
echo "4. Reviewing dependencies..."
|
||
|
|
echo "Check for updates: foundry, cast, etc."
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "✅ Monthly maintenance complete"
|
||
|
|
}
|
||
|
|
|
||
|
|
case "$MAINTENANCE_TYPE" in
|
||
|
|
daily) daily_maintenance ;;
|
||
|
|
weekly) weekly_maintenance ;;
|
||
|
|
monthly) monthly_maintenance ;;
|
||
|
|
*)
|
||
|
|
echo "Usage: $0 [daily|weekly|monthly]"
|
||
|
|
exit 1
|
||
|
|
;;
|
||
|
|
esac
|
||
|
|
|