daily-log-rotation.js
1 /** 2 * Daily log rotation cron job 3 * Rotates logs, keeping only the last 7 days 4 * 5 * Add to crontab: 6 * 0 2 * * * cd /path/to/project && node src/cron/daily-log-rotation.js 7 * (Runs daily at 2 AM) 8 */ 9 10 import { rotateLogs } from '../utils/log-rotator.js'; 11 import Logger from '../utils/logger.js'; 12 13 const logger = new Logger('daily-log-rotation'); 14 15 logger.info('Starting daily log rotation'); 16 17 try { 18 const result = rotateLogs({ 19 logDir: './logs', 20 retentionDays: 7, 21 dryRun: false, 22 }); 23 24 logger.success('Log rotation completed', { 25 deleted: result.deleted, 26 kept: result.kept, 27 freedSpaceMB: (result.freedSpace / (1024 * 1024)).toFixed(2), 28 }); 29 30 process.exit(0); 31 } catch (err) { 32 logger.error('Log rotation failed', err); 33 process.exit(1); 34 }