← back to Watches
setup-cron-price-monitor.sh
51 lines
#!/bin/bash
# Setup automated daily price monitoring at 6 AM (simplified CSV version)
# No database required - uses CSV files like stock data
echo "🔧 Setting up automated price monitoring (CSV version)..."
# Make monitoring script executable
chmod +x /root/Projects/watches/utils/price-monitor-simple.js
# Create necessary directories
mkdir -p /root/Projects/watches/data/price-history-csv
mkdir -p /root/Projects/watches/data/price-summaries
# Create cron job for 6 AM daily
CRON_JOB="0 6 * * * cd /root/Projects/watches && /usr/bin/node utils/price-monitor-simple.js >> /var/log/watch-price-monitor.log 2>&1"
# Remove old cron job if exists
crontab -l 2>/dev/null | grep -v "price-monitor" | crontab - 2>/dev/null || true
# Add new cron job
(crontab -l 2>/dev/null; echo "$CRON_JOB") | crontab -
echo "✓ Cron job created - runs daily at 6:00 AM"
# Create log file
touch /var/log/watch-price-monitor.log
chmod 644 /var/log/watch-price-monitor.log
echo "✓ Log file created: /var/log/watch-price-monitor.log"
echo ""
echo "✅ Setup complete!"
echo ""
echo "📋 Summary:"
echo " - Cron job: Daily at 6:00 AM"
echo " - CSV storage: /root/Projects/watches/data/price-history-csv/"
echo " - Summaries: /root/Projects/watches/data/price-summaries/"
echo " - Logs: /var/log/watch-price-monitor.log"
echo " - Format: Stock-like CSV (Date, Open, High, Low, Close, Volume)"
echo ""
echo "🔍 Manual test run:"
echo " node /root/Projects/watches/utils/price-monitor-simple.js"
echo ""
echo "📊 View cron jobs:"
echo " crontab -l | grep price-monitor"
echo ""
echo "📈 View logs:"
echo " tail -f /var/log/watch-price-monitor.log"
echo ""
echo "📁 View CSV files:"
echo " ls -lh /root/Projects/watches/data/price-history-csv/"