#!/bin/bash # Install Email Rules Sync as a cron job SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SYNC_SCRIPT="$SCRIPT_DIR/sync.js" echo "📦 Installing Email Rules Sync Cron Job..." echo "" # Make sync script executable chmod +x "$SYNC_SCRIPT" # Create cron job to run every 30 minutes (as fallback - main sync is event-driven) CRON_JOB="*/30 * * * * cd $SCRIPT_DIR && sudo /usr/bin/node sync.js >> /tmp/email-rules-sync.log 2>&1" # Check if cron job already exists if crontab -l 2>/dev/null | grep -q "email-rules-sync"; then echo "⚠️ Cron job already exists. Updating..." (crontab -l 2>/dev/null | grep -v "email-rules-sync"; echo "$CRON_JOB") | crontab - else echo "➕ Adding new cron job..." (crontab -l 2>/dev/null; echo "$CRON_JOB") | crontab - fi echo "" echo "✅ Cron job installed successfully!" echo "" echo "The sync script will run every 30 minutes as a fallback." echo "Main synchronization is event-driven (triggered by API changes)." echo "Logs are written to: /tmp/email-rules-sync.log" echo "" echo "To view current cron jobs:" echo " crontab -l" echo "" echo "To view logs:" echo " tail -f /tmp/email-rules-sync.log" echo "" echo "To run sync manually:" echo " cd $SCRIPT_DIR && npm start"