37 lines
957 B
Bash
Executable File
37 lines
957 B
Bash
Executable File
#!/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." |