Soy nuevo en el uso de cron job. Ni siquiera sé cómo escribirlo. He intentado buscar en Internet, pero todavía no lo entiendo bien. Quiero crear un trabajo cron que ejecutará mi código cada minuto. Estoy usando PHP para crearlo. No está trabajando.
Ejemplo
run.php (Código que se ejecutará cada minuto)
<?php
echo "This code will run every minute";
?>
cron.php
<?php
$path = dirname(__FILE__);
$cron = $path . "/run.php";
echo exec("***** php -q ".$cron." &> /dev/null");
?>
Suponga que estos dos archivos están en la misma carpeta.
¿El código que hice mal? Si está mal, por favor dígame cómo solucionarlo.
crontab
Respuestas:
Esta es la mejor explicación con código en PHP que he encontrado hasta ahora:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
En breve:
Aunque la sintaxis para programar un nuevo trabajo puede parecer desalentadora a primera vista, en realidad es relativamente fácil de entender una vez que la desglosa. Un trabajo cron siempre tendrá cinco columnas, cada una de las cuales representa un 'operador' cronológico seguido de la ruta completa y el comando para ejecutar:
* * * * * inicio / ruta / a / comando / the_command.sh
Cada una de las columnas cronológicas tiene una relevancia específica para el horario de la tarea. Son los siguientes:
Entonces, por ejemplo, si uno quisiera programar una tarea para las 12 a. M. El primer día de cada mes, se vería así:
0 0 1 * * inicio / ruta / a / comando / the_command.sh
Si quisiéramos programar una tarea para que se ejecute todos los sábados a las 8:30 am, la escribiríamos de la siguiente manera:
30 8 * * 6 inicio / ruta / a / comando / the_command.sh
También hay varios operadores que se pueden utilizar para personalizar aún más el horario:
Visite el enlace para ver el artículo completo, explica:
fuente
De la misma manera que está intentando ejecutar cron.php, puede ejecutar otro script PHP. Sin embargo, tendrá que hacerlo a través de la interfaz CLI.
Luego, agregue una entrada al crontab:
Si el script run.php tenía permisos ejecutables, podría aparecer directamente en el crontab, sin la parte / usr / bin / php también. La parte 'env php', en el script, encontraría el programa apropiado para ejecutar realmente el código PHP. Entonces, para la versión 'ejecutable', agregue el permiso ejecutable al archivo:
y luego, agregue la siguiente entrada en crontab:
fuente
Agregado a Alister, puede editar el crontab generalmente (no siempre es el caso) ingresando crontab -e en una sesión ssh en el servidor.
Las estrellas representan (* significa cada parte de esta unidad):
Puedes leer un poco más sobre esto aquí .
fuente
Escriba lo siguiente en la terminal linux / ubuntu
seleccione un editor (en algún momento solicita el editor) y esto se ejecutará cada minuto
fuente
Eso puede depender de su proveedor de alojamiento web si no aloja su propio contenido. Si su proveedor de alojamiento web admite la creación de trabajos cronológicos, es posible que tenga un formulario para que lo complete y que le permita seleccionar la frecuencia e ingresar la ruta absoluta al archivo para ejecutar. Por ejemplo, mi servidor web (DreamHost) me permite crear trabajos cron personalizados escribiendo la ruta absoluta al archivo y seleccionando la frecuencia en un menú de selección. Es posible que esto no sea posible para su servidor, en cuyo caso debe editar el crontab directamente o mediante el método específico de su host.
Como Alister Bulman detalla arriba, cree un archivo PHP para ejecutar usando CLI (asegurándose de incluirlo
#!/usr/bin/env php
al principio del archivo antes de la<?php
etiqueta. Esto asegura que el shell sepa qué ejecutable debe ser invocado al ejecutar el script.fuente
¿Por qué no usas curl? lógicamente, si ejecuta un archivo php, lo ejecutará por url en su navegador. es muy simple si corres curl
fuente
fuente
Primero abra su servidor SSH con nombre de usuario y contraseña y cambie al usuario raíz predeterminado (Usuario con todos los permisos) luego siga los pasos a continuación,
crontab -l
ahora verá la lista de todos los cronjobs.crontab -e
un archivo con todos los trabajos cron.min hr dayofmonth month dayofweek pathtocronjobfile
y guárdelo.crontab: installing new crontab
ahora nuevamente, verifique la lista de cronjobs donde su trabajo cron aparecerá en la lista.fuente
Es mejor utilizar el proyecto Cron en combinación con el cronjob de Linux para esta tarea. Le permite configurar tiempos de ejecución en su código PHP, admite trabajos en segundo plano y es fácil de usar.
Primer paso llamar a un script PHP cada minuto:
Segundo paso use el paquete cron / cron para configurar los tiempos de ejecución directamente en PHP.
Encontró los detalles de cómo usarlo en el repositorio vinculado.
fuente
Crea un cronjob como este para trabajar en cada minuto
fuente
Hay una manera simple de resolver esto: puede ejecutar el archivo php por cron cada 1 minuto, y dentro del archivo ejecutable php, haga una declaración "if" para ejecutar cuando el tiempo "ahora" sea así
fuente
fuente