# Configurazione cron

Scheduler applicativo:

- backup: 02:15;
- scadenze accessi: 07:00 `Europe/Rome`;
- promemoria applicativi: secondo `routes/console.php`.

Con SSH/cPanel:

```cron
* * * * * /usr/local/bin/php /home/ACCOUNT/francoach/artisan schedule:run >> /dev/null 2>&1
```

Usare il percorso PHP indicato dal provider e la directory reale dell’app. Non puntare alla cartella `public`.

Verifica:

```bash
php artisan schedule:list
php artisan subscriptions:process-expirations
tail -n 100 storage/logs/subscriptions.log
```

Il comando è sincrono, a blocchi e idempotente; non richiede queue worker. Configurare SMTP prima del test. Proteggere `storage/logs`, non esporre Artisan via endpoint permanente e non eseguire due cron differenti per la stessa installazione.

Se il cron non parte: verificare binario PHP, working directory, permessi di `storage`/`bootstrap/cache`, timezone, `.env` e log cPanel. Dopo modifiche alla configurazione eseguire `php artisan optimize:clear && php artisan config:cache`.
