feat: add cron job management functionality with status retrieval and action handling
This commit is contained in:
52
setup-cron.sh
Normal file
52
setup-cron.sh
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Manual script to setup/restart cron jobs
|
||||
# Use this if cron wasn't started properly by the docker entrypoint
|
||||
|
||||
echo "🔧 Setting up cron jobs..."
|
||||
|
||||
# Ensure cron service is running
|
||||
if command -v service &> /dev/null; then
|
||||
service cron start 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Set up daily backup cron job (runs at 2 AM daily)
|
||||
echo "⏰ Setting up daily backup cron job (2 AM)..."
|
||||
echo "0 2 * * * cd /app && /usr/local/bin/node backup-db.mjs >> /app/data/backup.log 2>&1" > /etc/cron.d/backup-cron
|
||||
chmod 0644 /etc/cron.d/backup-cron
|
||||
|
||||
# Set up daily due date reminders cron job (runs at 3 AM daily)
|
||||
echo "⏰ Setting up daily due date reminders cron job (3 AM)..."
|
||||
echo "0 3 * * * cd /app && /usr/local/bin/node send-due-date-reminders.mjs >> /app/data/reminders.log 2>&1" > /etc/cron.d/reminders-cron
|
||||
chmod 0644 /etc/cron.d/reminders-cron
|
||||
|
||||
# Combine both cron jobs into crontab
|
||||
cat /etc/cron.d/backup-cron /etc/cron.d/reminders-cron > /tmp/combined-cron.tmp
|
||||
crontab /tmp/combined-cron.tmp
|
||||
rm /tmp/combined-cron.tmp
|
||||
|
||||
# Verify cron jobs are installed
|
||||
echo ""
|
||||
echo "✅ Cron jobs installed:"
|
||||
crontab -l
|
||||
|
||||
# Check if cron daemon is running
|
||||
echo ""
|
||||
if pgrep -x "cron" > /dev/null || pgrep -x "crond" > /dev/null; then
|
||||
echo "✅ Cron daemon is running"
|
||||
else
|
||||
echo "⚠️ Cron daemon is NOT running. Starting it..."
|
||||
if command -v cron &> /dev/null; then
|
||||
cron
|
||||
echo "✅ Cron daemon started"
|
||||
elif command -v crond &> /dev/null; then
|
||||
crond
|
||||
echo "✅ Cron daemon started"
|
||||
else
|
||||
echo "❌ Could not start cron daemon"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 Cron setup complete!"
|
||||
Reference in New Issue
Block a user