cancel
Showing results for 
Search instead for 
Did you mean: 

Problema Cron non funzionante

SOLVED

Problema Cron non funzionante

Ciao,

ho un problema con il Cron di magento: ho provato tutte le configurazioni possibili ma non parte lo schedulatore, ne a mano ne in modo automatico

Ho usato come provider "Register" con piattaforma Linux Advanced, il che mi permette di gestire i Cron tramite Cpanel.

Ho impostato i parametri di lancio ad 1 minuto(perchè alcune estensioni installate necessitano il run ogni minuto) del Cron di Cpanel

 

imm1.jpg



Poi ho impostato le opzioni di Magento(ver. 1.9.2.3) in questo modo:

imm2.jpg

 

Il problema è che i job non sono schedulati, non partono nemmeno quando li forzo.

Ho installato inoltre AOE_SCheduler per aiutarmi a capire il problema: da li riesco a vedere che i job non solo non partono quando gli invio il comando forzato di avvio "Generate schedule" , ma nemmeno in modo automatico.

Ho controllato i permessi del file Cron.php e sono 777, quindi dovrebbe andar tutto bene.

non so piu cosa cercare. Ho provato anche ad abilitare il debug html e lanciare il cron da sito(con www.miosito.com/cron.php) ma appare schermata bianca e se vedo nella source della pagina non trovo nulla.

Seguo passo passo i tutorial ma i job non partono. e non riesco a capire il perche.

Ho anche provato ad utilizzare la SSH ed inviare i comandi che mi propone il modulo AOE_Scheduler che sono i seguenti:

sudo crontab -u pw1ltff4 -e
* * * * * ! test -e /home/pw1ltff4/public_html/shop/maintenance.flag && /bin/bash /home/pw1ltff4/public_html/shop/scheduler_cron.sh --mode always
* * * * * ! test -e /home/pw1ltff4/public_html/shop/maintenance.flag && /bin/bash /home/pw1ltff4/public_html/shop/scheduler_cron.sh --mode default

ma quando li eseguo, la SSH mi risponde che non conosce il comando SUDO.

mi aiutate almeno a capire dove posso leggere e imparare a far funzionare un semplice cron?

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Problema Cron non funzionante

Sembra che io abbia risolto, almeno le email hanno ripreso ad arrivare. Smiley Wink

Ho modificato il crontab in questo modo:

SHELL="/bin/sh"
*/5 * * * *  echo "`date` heartbeat" > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log
*/5 * * * * /bin/sh /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.sh
###*/5 * * * * /usr/local/bin/php -f /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log 2>&1
*/5 * * * * php /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php >> /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log

e inserito in cron.php il codice:

$isShellDisabled = true;

dopo la riga:

$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;

View solution in original post

4 REPLIES 4

Re: Problema Cron non funzionante

Ciao,

ho il tuo stesso problema (stesso provider con stessa soluzione) che non sono ancora riuscito a risolvere.

Nel mio caso i jobs lanciati manualmente funzionano (le email in coda vengono spedite), uso i seguenti comandi in crontab:

SHELL="/bin/bash"
*/5 * * * * /bin/sh /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.sh
*/5 * * * * /usr/local/bin/php -f /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log 2>&1

Hai più risolto?

Grazie

Re: Problema Cron non funzionante

potrebbe forse essere un problema di assegnazione dell'utente o del gruppo che non possiede i permessi corretti. Hai provato a verificare che sia tutto ok anche da quel punto di vista?

Altrimenti potresti anche verificare se il tipo di hosting/server non richieda un diverso metodo per la chiamata. Prova anche a sentire l'assistenza dell'hosting a riguardo.

------------------ [ Antonio Carboni ] ------------------Hosting Magenio
Problema risolto? Clicca Accept as Solution!

Re: Problema Cron non funzionante

Ciao Black Cat,

l'utente è lo stesso utilizzato dalla piattaforma e i comandi lanciati via shell funzionano senza problemi.

Ho aggiunto un hartbeat per verificare l'esecuzione del cron

 

SHELL="/bin/sh"
*/5 * * * * /bin/sh /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.sh
###*/5 * * * * /usr/local/bin/php -f /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log 2>&1
*/5 * * * * /usr/local/bin/php /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php >> /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log
*/5 * * * *  echo "`date` heartbeat" >> /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log

e sembra funzionare

 

 

...
Tue Jan 3 09:05:01 CET 2017 heartbeat Tue Jan 3 09:10:01 CET 2017 heartbeat Tue Jan 3 09:15:01 CET 2017 heartbeat Tue Jan 3 09:20:01 CET 2017 heartbeat Tue Jan 3 09:25:01 CET 2017 heartbeat

A questo punto mi viene il dubbio che sia il php richiamato, anche se comunque il job viene eseguito lanciato manualmente

 

 

yyyyy@xxxxx [~/public_html/ecomm]$ which php
/usr/local/bin/php
yyyyy@xxxxx [~/public_html/ecomm]$ php --version
PHP 5.6.28 (cli) (built: Nov 10 2016 18:08:54)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologie

 

 

Re: Problema Cron non funzionante

Sembra che io abbia risolto, almeno le email hanno ripreso ad arrivare. Smiley Wink

Ho modificato il crontab in questo modo:

SHELL="/bin/sh"
*/5 * * * *  echo "`date` heartbeat" > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log
*/5 * * * * /bin/sh /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.sh
###*/5 * * * * /usr/local/bin/php -f /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php > /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log 2>&1
*/5 * * * * php /home/(rimosso_per_sicurezza)/public_html/ecomm/cron.php >> /home/(rimosso_per_sicurezza)/public_html/ecomm/var/log/cron.php.log

e inserito in cron.php il codice:

$isShellDisabled = true;

dopo la riga:

$isShellDisabled = (stripos(PHP_OS, 'win') === false) ? $isShellDisabled : true;