# ============================================================================ # OutreachPilot - przykładowa konfiguracja crona # Instalacja: crontab -e -u www-data # Ścieżkę /var/www/outreachpilot podmień na własną. # PHP CLI: which php (np. /usr/bin/php lub /usr/local/bin/php8.3) # ============================================================================ PATH=/usr/local/bin:/usr/bin:/bin MAILTO="" # --- WARIANT A: jeden wpis, harmonogram wewnętrzny (zalecany) --------------- * * * * * /usr/bin/php /var/www/outreachpilot/app/Console/Scheduler.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # --- WARIANT B: osobne wpisy (hosting bez workera w tle) -------------------- # Wysyłka: co minutę, porcja 25 wiadomości #* * * * * /usr/bin/php /var/www/outreachpilot/cron/send-emails.php 25 >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Follow-upy: co 5 minut #*/5 * * * * /usr/bin/php /var/www/outreachpilot/cron/process-followups.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Odczyt skrzynek IMAP: co 15 minut #*/15 * * * * /usr/bin/php /var/www/outreachpilot/cron/check-inboxes.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Zwroty: co 30 minut #*/30 * * * * /usr/bin/php /var/www/outreachpilot/cron/process-bounces.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Diagnostyka DNS: codziennie 03:00 #0 3 * * * /usr/bin/php /var/www/outreachpilot/cron/check-deliverability.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Reset limitów dziennych: 00:05 #5 0 * * * /usr/bin/php /var/www/outreachpilot/cron/reset-daily-limits.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Retencja i porządki: codziennie 03:30 #30 3 * * * /usr/bin/php /var/www/outreachpilot/cron/cleanup.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Monitoring nowych firm: co godzinę #0 * * * * /usr/bin/php /var/www/outreachpilot/cron/run-monitors.php >> /var/www/outreachpilot/storage/logs/cron.log 2>&1 # Kopia zapasowa bazy: 02:00 #0 2 * * * mysqldump --single-transaction --quick outreachpilot | gzip > /backup/op-$(date +\%F).sql.gz #0 5 * * 0 find /backup -name 'op-*.sql.gz' -mtime +30 -delete # ============================================================================ # WORKER KOLEJKI (wymagany dla wariantu A) # Plik: /etc/systemd/system/outreachpilot-worker.service # ---------------------------------------------------------------------------- # [Unit] # Description=OutreachPilot queue worker # After=network.target mysql.service # # [Service] # User=www-data # Restart=always # RestartSec=5 # WorkingDirectory=/var/www/outreachpilot # ExecStart=/usr/bin/php /var/www/outreachpilot/app/Console/QueueWorker.php --queue=emails,imap,ai,import,default --sleep=3 --max-jobs=500 # # [Install] # WantedBy=multi-user.target # ---------------------------------------------------------------------------- # systemctl daemon-reload && systemctl enable --now outreachpilot-worker # # Hosting współdzielony bez systemd: dodaj wpis w cronie # */5 * * * * /usr/bin/php /var/www/outreachpilot/app/Console/QueueWorker.php --queue=emails,imap,ai --max-jobs=60 --sleep=1 # ============================================================================