#!/bin/bash # Log rotation script for MEV Bot # Configuration LOG_DIR="/home/administrator/projects/mev-beta/logs" MAX_SIZE_MB=100 RETENTION_DAYS=30 # Rotate event logs when they exceed MAX_SIZE_MB rotate_large_logs() { echo "Checking for large logs to rotate..." # Find log files larger than MAX_SIZE_MB find "$LOG_DIR/events" -name "*.jsonl" -size +${MAX_SIZE_MB}M | while read logfile; do echo "Rotating large log: $logfile" # Compress the log file gzip "$logfile" # Move to archived directory mv "${logfile}.gz" "$LOG_DIR/archived/" done } # Clean up old archived logs cleanup_old_logs() { echo "Cleaning up archived logs older than $RETENTION_DAYS days..." find "$LOG_DIR/archived" -name "*.gz" -mtime +$RETENTION_DAYS -delete } # Main execution echo "Starting log rotation for MEV Bot..." rotate_large_logs cleanup_old_logs echo "Log rotation completed."