This document is for CakePHP's development version, which can be significantly different from previous releases.
You may want to read current stable release documentation instead.

Ejecutar shells como trabajos cron

Una cosa común que se puede hacer con un shell es ejecutarlo como un cronjob para limpiar la base de datos de vez en cuando o enviar boletines. Esto es trivial de configurar, por ejemplo:

  */5  *    *    *    *  cd /full/path/to/root && bin/cake myshell myparam
# *    *    *    *    *  command to execute
# │    │    │    │    │
# │    │    │    │    │
# │    │    │    │    \───── day of week (0 - 6) (0 to 6 are Sunday to Saturday,
# |    |    |    |           or use names)
# │    │    │    \────────── month (1 - 12)
# │    │    \─────────────── day of month (1 - 31)
# │    \──────────────────── hour (0 - 23)
# \───────────────────────── min (0 - 59)

Puedes ver más información aquí: https://es.wikipedia.org/wiki/Cron_(Unix)

Truco

Utilice -q (o –quiet) para silenciar cualquier salida de cronjobs.

Trabajos cron en hosting compartido

En algunos servidores compartidos cd /full/path/to/root && bin/cake mycommand myparam Puede que no funcione. En su lugar puedes usar php /full/path/to/root/bin/cake.php mycomando myparam.

Nota

register_argc_argv has to be turned on by including register_argc_argv = 1 in your php.ini. If you cannot change register_argc_argv globally, you can tell the cron job to use your own configuration by specifying it with -d register_argc_argv=1 parameter. Example: php -d register_argc_argv=1 /full/path/to/root/bin/cake.php myshell myparam

register_argc_argv debe activarse incluyendo register_argc_argv = 1 en su php.ini. Si no puede cambiar register_argc_argv globalmente, puede indicarle al trabajo cron que use su propia configuración especificándola con el parámetro -d register_argc_argv=1. Ejemplo: php -d register_argc_argv=1 /full/path/to/root/bin/cake.php myshell myparam