Sintaxis cron. Configuración de cron: características, instrucciones paso a paso y reseñas

En el sistema operativo Unix, es posible ejecutar programas de usuario en un momento especificado por el usuario. Para ello se utiliza el programa cron, que recibe instrucciones de los usuarios y, siguiéndolas, realiza cualquier tarea según los scripts recibidos. Nuestros clientes pueden utilizar esta función para realizar tareas periódicas.

Cómo configurar cron en su cuenta personal (para tarifas Unix)

Dado que no todos los programas PHP pueden ejecutarse a través de SAPI CLI sin modificaciones previas, puede ejecutarlos a través de obtener. Por ejemplo:

/usr/local/bin/wget -O /dev/null -q http://mysite.tld/cron.php?action=123

Si el script usa funciones requerir, incluir y contienen rutas relativas, luego, al comienzo del script que se está ejecutando, use una llamada de función chdir(), que establecerá el directorio de trabajo actual.

Cómo recibir mensajes de error de programas ejecutados por cron

Si encuentra errores al ejecutar un programa que se ejecuta desde cron, probablemente desee recibir mensajes de error para poder monitorear completamente el rendimiento de los trabajos iniciados periódicamente. Para hacer esto, coloque la siguiente línea al comienzo del script cron:

CORREO A=direcció[email protected]

Ciertamente, direcció[email protected] debe reemplazarla con una dirección de correo electrónico real donde se entregarán las notificaciones. Si necesita recibir mensajes de error en varias direcciones, especifique todas estas direcciones separadas por comas.

Tenga en cuenta que cron enviará por correo lo que generan los scripts en ejecución. Por ejemplo, si escribe un script que imprime la línea "Hola, mundo" y lo ejecuta a través de cron, recibirá un correo electrónico con la línea "Hola, mundo" cada vez que cron ejecute dicho script.

Para evitar esto, por ejemplo, cuando no necesita el texto generado por el script, debe agregar los caracteres

> /dev/nulo 2>&1

La línea completa para cron se verá así:

0 1 * * * /usr/local/bin/php -q $HOME/script.php > /dev/null 2>&1

Recomendamos verificar la sintaxis correcta de los scripts que configuró para ejecutarse mediante cron. Los scripts pueden contener un error, pueden no funcionar igual cuando se ejecutan a través de un servidor web y a través de cron, etc. Para asegurarse de que el script funcione correctamente a través de cron, primero verifíquelo con el siguiente comando en el shell de Unix:

/usr/local/bin/php -l script.php

Si no hay errores en el script, verá el mensaje "No se detectaron errores de sintaxis en script.php".

Restricciones

Para los programas que se inician mediante cron, se aplican las mismas restricciones sobre los recursos consumidos que para los procesos iniciados por el usuario en el shell de Unix. Estamos hablando de restricciones en el tiempo de ejecución del programa, cantidad de memoria disponible, restricciones en el tamaño de los archivos, etc.

31 de marzo de 2014 a las 11:26

Hacer la “vida” en Linux más fácil o automatizar el lanzamiento de procesos mediante cron

  • configuración de Linux,
  • *nada
Introducción
Sentado frente a mi computadora portátil por la noche y estudiando otra distribución de Linux en la máquina virtual, me pregunté: ¿Es posible simplificar el inicio rutinario de procesos? Si está interesado, consulte cat. El artículo es de carácter informativo y está destinado principalmente a los recién llegados al sistema operativo Linux, pero los usuarios experimentados de Linux también pueden aprender algo nuevo por sí mismos.
demonios atd y cron
Después de buscar en Google y leer, aprendí sobre dos demonios: atd Y cron. Rechacé el primero por sus limitaciones y la incomodidad de trabajar con él. Pero me gustaría hablar del segundo con más detalle.
Si su computadora de repente, aparentemente sin ningún motivo, comienza a buscar en el disco, a enviarle correo, etc., lo más probable es que esto sea obra de un demonio. cron

Michael Kofler " Linux. Instalación, configuración, administración." - San Petersburgo: Peter, 2014

Entonces, ¿qué hace éste exactamente? cron. El demonio se activa a intervalos de un minuto y comprueba los archivos. crontab y lanza los programas especificados en ellos. Inicialmente se utiliza durante el mantenimiento del sistema, pero el usuario puede utilizarlo para solucionar sus propios problemas.

Si tiene instalada una distribución normal, entonces no tiene nada de qué preocuparse, cron se instala automáticamente. Si es mínimo, no te enfades: ve a la terminal.
yum instalar vixie-cron //(RHEL - Red Hat Enterprise Linux)
o
apt-get install cron //(distribuciones tipo Deabian)
El acceso del usuario al demonio se configura en el directorio /var/spool/cron/tabs/usuario. Sus derechos están establecidos en archivos. /cron/permitir Y /denegar. Agregar un usuario a /permitir le permitimos ejecutar el comando cron, y si agrega un usuario a /denegar, por el contrario, se prohibirá al usuario utilizar el demonio.

Mí mismo cron configurado en el directorio /etc/crontab. Archivo /crontab o archivos en /etc/cron. d contiene una lista de comandos a ejecutar. La sintaxis es:
en /etc/crontab [minuto][hora][día][mes][semana][usuario][comando]
Por ejemplo, si necesito hacer ping a ya.ru cada 15 minutos en nombre del superusuario, entonces debo agregar lo siguiente:
*/15 **** raíz ping ya.ru
Si alguno de los primeros cinco campos contiene el carácter *, este campo se ignora. El comando anterior no especifica ni el mes ni la semana, por lo que se ejecutará cada 15 minutos. Para cambiar la configuración, use el comando en la terminal. vi o cambiar manualmente el contenido del archivo /etc/crontab.

Trabajar con .hourly, .daily, .weekly, .monthly
Por defecto en casi todas las distribuciones, el archivo /etc/crontab contiene solo algunas entradas necesarias para ejecutar los scripts:
/etc/cron.hourly/*- scripts que se ejecutan cada hora
/etc/cron.daily/*- scripts ejecutados todos los días
/etc/cron.weekly/*- scripts ejecutados cada semana
/etc/cron.monthly/*- scripts ejecutados cada mes

Para que el demonio ejecute sus comandos, agregue un script que ejecute los comandos en uno de los directorios. No olvides configurar el bit. ejecutar (archivo chmod a+x). Si no hace esto, entonces su script simplemente no tendrá acceso y no se ejecutará.
Para verificar si su script se ejecutará, ejecute el comando
ejecutar-partes --test /etc/cron.daily
Si el script está ubicado en un directorio diferente, cámbielo en consecuencia a diario en mensual etc.
Y recuerde, el nombre del script no puede contener puntos ni ningún símbolo que no sea punto. El comando run-parts simplemente ignora los scripts de puntos, no sé por qué.

Anacrón
además del demonio cron. La mayoría de las distribuciones vienen con el programador de tareas Anacron instalado. Su tarea es ejecutar scripts una vez (bajo demanda) /etc/cron.n donde n puede tomar tres valores: a diario, semanalmente, mensual. Una vez completados, se apaga y no se bloquea en el sistema como cron. Además, Anacron no ejecuta scripts desde el directorio. /etc/cron.horaly, esta es la prerrogativa cron. La configuración global de Anacron se realiza en el directorio. /etc/anacrontab, pero la configuración predeterminada suele ser suficiente.
PD
Para simplificar el trabajo con las tareas cotidianas de un administrador del sistema que trabaja a través de ssh, es más recomendable utilizar cron y deshabilitar Anacron, ya que realiza tareas una a la vez, y cron ignora las tareas que realiza Anacron. Como resultado, todas tus tareas se completarán solo una vez. En la mayoría de las distribuciones, trabajar con el demonio es casi lo mismo, pero si tienes problemas, usa la wiki para tu Linux.

Los administradores de sistemas y los usuarios comunes a menudo necesitan automatizar diversas tareas de trabajo y mantenimiento con Linux mediante scripts. Es muy conveniente, simplemente ejecuta el script y hace todo lo que necesita sin su intervención. El siguiente paso en este viaje es configurar el script correcto para que se ejecute automáticamente en el momento adecuado.

Es para estas tareas que Linux utiliza el servicio del sistema cron. Este es un programador que le permite ejecutar los scripts que necesita una vez por hora, una vez por día, una semana o un mes, así como en cualquier momento que especifique o en cualquier intervalo. El programa es utilizado a menudo incluso por otros servicios del sistema operativo. En este artículo veremos cómo se configura Cron y veremos los principales ejemplos utilizados con frecuencia.

De hecho, Cron es un servicio, como la mayoría de los otros servicios de Linux, se inicia al iniciar el sistema y se ejecuta en segundo plano. Su tarea principal es llevar a cabo los procesos correctos en el momento adecuado. Hay varios archivos de configuración de los cuales toma información sobre qué se debe hacer y cuándo. El servicio abre el archivo /etc/crontab, que contiene todos los datos necesarios. A menudo, en las distribuciones modernas se prescribe iniciar la utilidad run-parts, que inicia los scripts necesarios desde las siguientes carpetas:

  • /etc/cron.minuto- cada minuto;
  • /etc/cron.horaly- cada hora;
  • /etc/cron.daily- cada día;
  • /etc/cron.semanal- todas las semanas;
  • /etc/cron.mensual- todos los meses.

Estas carpetas deben contener scripts que deben ejecutarse en el intervalo especificado. Los scripts deben tener derechos de ejecución y su nombre no debe contener un punto. Esto hace que trabajar con el programador sea muy fácil para los nuevos usuarios. También en el archivo crontab está el lanzamiento del comando anacron, que funciona igual que cron, solo que está destinado a tareas que deben realizarse una vez durante un período prolongado, por ejemplo, una vez al día, semana, mes o año.

Te permite realizarlos incluso si el ordenador no siempre funciona y se apaga de vez en cuando. La fecha en que se ejecutó el trabajo por última vez se registra en el archivo /var/spool/anacron y luego, la próxima vez que se inicia, anacron verifica si el proceso requerido se estaba ejecutando en el momento correcto y, si no, lo inicia. él. El servicio cron en sí está más diseñado para realizar tareas durante el día o con una fecha y hora programadas con precisión.

Configurando cron

Para configurar la hora, la fecha y el intervalo en el que se debe ejecutar la tarea, se utiliza una sintaxis de archivo cron especial y un comando especial. Por supuesto, siempre puede editar el archivo /etc/crontab, pero no se recomienda. En su lugar, hay un comando crontab:

Siempre es recomendable realizarlo con la opción -e, luego se utilizará su editor de texto predeterminado para editar las reglas. El comando abre un archivo temporal, que ya contiene todas las reglas cron actuales y puede agregar otras nuevas. Una vez que se complete el comando cron, el archivo se procesará y todas las reglas se agregarán a /var/spool/cron/crontabs/username, y los procesos agregados se iniciarán exactamente desde el usuario desde quien los agregó.

Por lo tanto, debe tener cuidado aquí, y si necesita ejecutar scripts como root, entonces crontab debe ejecutarse como root y no como usuario. Esto suele causar problemas.

sintaxis de crontab

Como ya dije, la hora se establece en una sintaxis especial, veamos la sintaxis para configurar una única tarea cron:

minuto hora día mes día_semana /ruta/al/ejecutable/archivo

Hay que decir que debes escribir la ruta completa al comando, porque para los comandos que se ejecutan como cron, la variable de entorno PATH será diferente y el servicio simplemente no podrá encontrar tu comando. Esta es la segunda causa más común de problemas con Cron. La fecha y la hora se indican mediante números o el símbolo "*". Este símbolo significa que debe hacerse cada vez, si está en el primer campo, luego cada minuto y así sucesivamente. Bueno, ahora pasemos a los ejemplos.

Ejemplos de configuraciones cron

Primero, puedes ver las tareas cron para el superusuario, para esto puedes usar la opción -l:

Puede eliminar todas las tareas existentes con el comando -r:

Supongamos que necesitamos ejecutar nuestro script en /usr/local/bin/serve como superusuario. Algún tipo de guión de mantenimiento. El ejemplo más sencillo es ejecutarlo cada minuto:

* * * * * /usr/local/bin/servir

0 * * * * /usr/local/bin/servir

Lanzamos en el minuto cero de la hora cero, todos los días, esto es a las 12 de la noche:

0 0 * * * /usr/local/bin/servir

0 0 1 * * /usr/local/bin/servir

Puedes hacerlo cualquier día, por ejemplo el día 15:

0 0 15 * * /usr/local/bin/servir

El primer día de la semana del primer mes del año, 0 horas 0 minutos:

0 0 * 1 0 /usr/local/bin/servir

O el día cero de la semana de cada mes:

0 0 * * 0 /usr/local/bin/servir

Puedes seleccionar cualquier minuto, hora y día de la semana, por ejemplo las 15.30 del martes:

30 15 * * 2 /usr/local/bin/servir

El lunes se considera el primer día, el domingo es el séptimo o día cero. También puede escribir un nombre abreviado para el día de la semana, por ejemplo sol - domingo:

30 15 * * sol /usr/local/bin/servir

Para indicar un intervalo específico, es necesario utilizar el símbolo “-”, por ejemplo, cada hora, desde las siete de la mañana hasta las siete de la tarde:

0 7-19 * * * /usr/local/bin/servir

Si necesita ejecutar un comando varias veces, puede utilizar el separador ",". Por ejemplo, ejecutemos el script a las cinco y treinta y cinco minutos (16:05 y 16:35), todos los días:

5.35 16 * * * /usr/local/bin/servir

Es posible que no desee especificar la hora por separado, sino simplemente especificar el intervalo en el que desea que se ejecute el script, por ejemplo, una vez cada 10 minutos. Para hacer esto, use el delimitador de barra diagonal - "/":

*/10 * * * * /usr/local/bin/servir

Además, se han inventado variables para algunos conjuntos de uso común, aquí están:

  • @reiniciar- al cargar, sólo una vez;
  • @anualmente, @anualmente- una vez al año;
  • @mensual- una vez al mes;
  • @semanalmente- una vez por semana;
  • @diario, @medianoche- cada día;
  • @cada hora- cada hora.

Por ejemplo, así es como se vería simplemente un comando para ejecutar un script una vez cada hora:

@por hora /usr/local/bin/serve

Si va a agregar un script a una de las carpetas, entonces, como ya dije, necesita que su nombre no tenga puntos y que tenga derechos de ejecución:

sudo vi /etc/corn.daily/basckup

El guión debería verse así. Ahora ya sabes cómo configurar cron, solo queda comprobar cómo funciona todo.

Trabajo de depuración

Una vez que haya configurado las reglas, también le gustaría comprobar si funcionan. Para hacer esto, esperamos el momento en que el script ya debería estar ejecutado y miramos el registro cron. A veces está en /var/log/cron y otras veces está escrito en syslog. Por ejemplo, tengo esta línea en mi crontab:

Debe ejecutarse a las 19.40 todos los días, ahora mira el registro:

grep CRON /var/log/syslog

Y vemos que en nuestro log realmente está y se ejecuta con total éxito. Si hubiera algún error, se mostraría un mensaje inmediatamente.

Si necesita verificar un script que se encuentra en una de las carpetas especializadas, entonces es aún más fácil, simplemente ejecute run-paths, pasándole la carpeta deseada o incluso el propio script como parámetro:

sudo run-paths /etc/cron.daily/

Conclusiones

En este artículo, analizamos cómo se configura cron para una programación conveniente de tareas automáticas. Espero que esta información te haya sido útil.

8 de abril de 2015 a las 11:57

Ejecutar un script PHP en una programación cron. Cuando no todo está tan claro

  • PHP
  • Desarrollo de sitios web

En este artículo, hablaré sobre algunas de las complejidades de ejecutar scripts PHP en sitios de alojamiento, cuyo desconocimiento puede arruinar muchos nervios tanto a los programadores novatos como a los intermedios.
Razón para escribir este artículo: Problemas con la ejecución de scripts en sitios de alojamiento con diferentes configuraciones. Y dado que las configuraciones pueden ser diferentes, la información proporcionada para casos generales puede no ser adecuada y ser engañosa.

Un poco de teoría en estos enlaces: y, para aquellos que quieran refrescar la memoria.

Caso uno

La configuración del sistema operativo no especifica rutas predeterminadas. Como resultado, no se ejecutará el siguiente comando cron.

PHP /var/www/LOGIN/data/www/SITE/cron.php
El comando correcto sería la segunda opción, donde escribiremos la ruta completa al intérprete de php.

/usr/bin/php /var/www/LOGIN/data/www/SITE/cron.php
Se describen varias formas más de ejecutar un script PHP. Lo que será interesante aquí es que el script php se inicia como un archivo con comandos para la consola, y aquí puedes escribir un montón de comandos y describir todo tipo de opciones para todos los gustos. El código se ve así.

#!/usr/bin/php
El comando que se ejecutará en cron especifica la ruta al script y nada más. El script contiene símbolos #! y luego simplemente escribimos los comandos que necesitamos en bash.

Caso dos

La ejecución del script cuando se solicita desde el navegador da como resultado que la página se muestre en el navegador. Y cuando se ejecuta el script a través de cron, el resultado de la salida del texto de la página es la línea de comando. Puede haber varias opciones aquí. El sistema se puede configurar para guardar la salida en la consola como un archivo. Además, es posible que este archivo no esté ubicado en el lugar más habitual. Poco a poco, esto puede llenar todo el espacio en disco. A menudo, a un sitio se le asigna un espacio de 1 Gigabyte, 500 megabytes. E incluso había hostings de 50 y 10 megas para el sitio.

Alternativamente, el resultado se puede redirigir a un buzón de correo que un proveedor de alojamiento atento le haya proporcionado discretamente y registrado en la configuración de alojamiento como correo electrónico predeterminado. Cada vez que se ejecuta el script, todo el texto enviado a la consola tendrá el formato de letra. Los problemas pueden comenzar inesperadamente. Si se ejecuta un trabajo cron con frecuencia y el correo electrónico de alojamiento tiene un límite en la cantidad de correos electrónicos por día, el correo electrónico simplemente fallará (el proveedor lo bloqueará como posible spammer). Y como consecuencias desagradables, recibirá una negativa a registrar usuarios, notificar a los usuarios, etc., que está vinculada al correo.

La solución es tan antigua como el tiempo. Es necesario redirigir la salida de la consola al vacío. Esto se hace agregando el comando al final del comando cron.

>>desarrollador/nulo 2>&1
A veces, los administradores de alojamiento se encargan de instalarlos discretamente para el usuario. Aquí también puede haber un problema.

Caso tres

La situación es sencilla. Necesitamos depurar el script iniciado por el programador. Puede intentar hacer esto usando PHP, forzar al script a escribir registros, etc. Pero hay una forma mucho más sencilla: debe redirigir la salida a un archivo. El comando es simple, un parámetro adicional a nuestro comando:

>
Se debe agregar al final del comando:

/usr/bin/php /var/www/LOGIN/data/www/SITE/cron.php > /var/www/LOGIN/data/www/SITE/log.html
El signo ">" le indica al sistema que redirija la salida. El siguiente es el nombre del archivo. En nuestro caso, se especifica la ruta absoluta. Este ejemplo no es difícil de encontrar en Internet. Pero aquí nos pueden aguardar problemas derivados del segundo caso. Un proveedor de alojamiento atento agrega automáticamente una redirección de salida al final de nuestra línea. Y a veces lo disfraza. El resultado es un comando como:

/usr/bin/php /var/www/LOGIN/data/www/SITE/cron.php > /var/www/LOGIN/data/www/SITE/log.html >/dev/null 2>&1
Como resultado, la salida se redirige nuevamente al vacío y el archivo de salida estará vacío. Aquí puede señalarle al proveedor de alojamiento su error: fue demasiado astuto con la configuración. O puedes usar inmediatamente una muleta. Después de la redirección al comando de archivo, finalice el comando con && caracteres. Estos dos caracteres se utilizan en la línea de comando para combinar varios comandos en una línea. Le informan a la línea de comando que el comando ha finalizado y que el siguiente comando está por llegar. Se le aplica la redirección hacia el vacío. Como resultado, la redirección al vacío permaneció y el archivo de registro se escribió correctamente. Comando de ejemplo:

/usr/bin/php /var/www/LOGIN/data/www/SITE/cron.php > /var/www/LOGIN/data/www/SITE/log.html && >/dev/null 2>&1

Caso cuatro

El script se inició, pero no funciona correctamente. La razón de esto es que el intérprete php, cuando se inicia desde la línea de comando, comienza a funcionar en un entorno configurado incorrectamente, diferente de lo que sería cuando se inicia a través de un servidor HTTP. La primera señal es que el script no encuentra archivos que estén en el mismo directorio que él, sino que comienza a considerarse ubicado en el directorio raíz del usuario, que está varias carpetas por encima de la raíz del sitio. Lo primero que hay que comprobar es la variable de entorno y la matriz súper global $_SERVER.

Lo primero que encontrarás en Internet sobre este problema es un consejo para escribir un comando de cambio de directorio en la corona:

Cd /var/www/LOGIN/data/www/SITE/
Pero en algunos casos esto no ayuda. Hay una salida. Uno de ellos es tomar todo en sus propias manos y configurar el entorno que falta para que funcione el guión. Ya hay más información sobre esto en Internet.

A veces solo necesitas ingresar el siguiente código al comienzo del script y las rutas vuelven a funcionar.

$path_parts = pathinfo($_SERVER["SCRIPT_FILENAME"]); // determina el directorio del script chdir($path_parts["dirname"]); // establece el directorio de ejecución del script
Como puede ver, todo está escrito en funciones y no hay necesidad de preocuparse por la configuración.

Conclusión

Eso es todo. Los problemas y las soluciones no son triviales y, en general, una combinación de este tipo de escenarios fallidos es rara. Buena suerte mientras implementas tus proyectos y te mueves.

Cron es un programador de tareas que se ejecuta en alojamiento Unix\Linux. Le permite realizar automáticamente ciertas acciones en el servidor (iniciar programas, scripts, etc.), con un tiempo o frecuencia específicos.

Configurar correctamente el programador de trabajos Cron

Los trabajos para Cron se pueden describir de la siguiente manera: son varias líneas (una línea, un trabajo), que indican la frecuencia de inicio y el comando (lo que significa lo que realmente se debe ejecutar):

30 3 * * 2 /tudirectorio/myscript.pl

Esquemáticamente:

Minutos Horas DíaMes Mes DíaComando Semana

minutos- establecido por un número del 0 al 59

Mirar- establecido por un número del 0 al 23

Día del mes- establecido por un número del 1 al 31

Mes- establecido por un número del 1 al 12

Día de la semana- 1 - lunes, 2 - martes, 3 - miércoles, 4 - jueves, 5 - viernes, 6 - sábado, 7 - domingo

Por lo tanto, en nuestro ejemplo (30 3 * * 2 /yourdirectory/myscript.pl) back significa que debe ejecutar el archivo /yourdirectory/myscript.pl todos los martes a las 3:30 am

También en cada uno de los campos podemos utilizar:

Escritura separada por comas: 2,5,16 - si escribe esto en el campo Horas, la tarea se ejecutará a las 2 am, 5 am y 4 pm.

Intervalo: 5-9 - si escribe esto en el campo Minutos, la tarea se ejecutará cada minuto en el período de 5 a 9 minutos.

Frecuencia adicional: /4 - si escribe esto en el campo de horas, significará que el lanzamiento se realizará cada 4 horas.

¡Importante! ¡Un asterisco (*) significa todos los valores posibles! Así, un webmaster inexperto que decide que para ejecutar una tarea el día 1 de cada mes basta con escribir * * 1 * * /yourdirectory/myscript.pl se topa con el hecho de que la tarea se ejecutará cada minuto, cada hora.

¿Cómo y dónde ingresar a los trabajos Cron?

La primera forma de trabajar con Cron es a través de su panel de control de hosting. Pero en diferentes paneles la configuración y gestión se realizan de forma diferente:

cPanel: Panel de control -> Trabajos cron

Administrador de ISP: Panel de control -> Programador (Cron)

Parallels Plesk: Panel de control -> Tareas programadas

Si su proveedor de hosting no tiene la capacidad de trabajar con trabajos a través del panel de control, entonces todo el trabajo con Cron generalmente se realiza a través del protocolo SSH. Aquí todo es simple: conéctese al servidor a través de SSH e ingrese comandos. Para conectarse al servidor, use el programa gratuito PuTTY (cómo configurarlo) e ingrese los comandos en la línea de comando.

Para comenzar, ingrese el comando

Después de esto, lo más probable es que sea transferido al editor de texto vi (diferentes proveedores pueden tener diferentes editores). vi es un editor bastante complejo, por lo que le recomendamos que intente ingresar la línea

Si se inicia un editor más ligero, entonces todo está bien, pero si su proveedor de alojamiento no lo admite, entonces Google te ayudará a resolverlo con vi. Sólo resumiremos brevemente los puntos principales:

Ingresando texto- presione la tecla i y el editor cambiará al modo de entrada de texto;

salir del modo de entrada de texto- ESC

Eliminar personaje- x (si está en modo de entrada de prueba, para eliminar un carácter, primero presione Esc y luego x);

¡Importante! Al ingresar trabajos para Cron, debe presionar Enter después de cada línea, incluso si esta es la única línea.

Para ver trabajos Cron existentes, ingrese crontab -l

Trabajos cron con ejemplos útiles

Consulte las reglas para crear trabajos Cron. Ejecute una tarea cada 2 horas a 0 minutos (todos los días, todos los meses)

0 */2 * * * /tudirectorio/myscript.pl

Ejecute la tarea cada vez que reinicie el servidor

@reboot/tudirectorio/myscript.pl

Ejecute la tarea los miércoles a las 3:20 a. m. (todos los días, todos los meses)

20 3 * * 3 /tudirectorio/myscript.pl
1 0 14 3 * /tudirectorio/myscript.pl

Ejecute la tarea mensualmente el día 1 a las 3:15 am (todos los meses)

15 3 1 * * /tudirectorio/myscript.pl

Ejecute archivos PHP según una programación usando Cron

Para ejecutar scripts PHP a través de Cron, puede utilizar un intérprete especial. Desafortunadamente, no podemos darle instrucciones sobre cómo usarlo, porque... Diferentes proveedores pueden utilizar software diferente. Por lo tanto, muchos webmasters ejecutan archivos PHP usando WGET, para esto usamos la siguiente entrada crontab:

30 3 * * 2 raíz wget -O - -q -t 1 http://mysite.com/file.php

"-O -" significa que Cron no creará archivos innecesarios, sino que funcionará a través de la consola. Esto le permite evitar saturar el servidor.

"-q" desactiva la impresión de la operación en la pantalla

"-t 1" sólo permite un intento de conexión.

http://mysite.com/file.php: ruta a su archivo PHP (no es necesario especificar una ruta absoluta).

¡Importante! Si pasa parámetros usando este archivo PHP, hay ocasiones en las que WGET no los procesa correctamente. En este caso, recomendamos incluir la dirección del archivo PHP entre comillas simples:

30 3 * * 2 raíz wget -O - -q -t 1 "http://mysite.com/file.php"

Además, hay otra forma de empezar:

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://misitio.com/file.php

Pero en este caso, necesita conocer la ruta a la carpeta wget en su servidor (más a menudo /usr/bin/wget o /usr/local/bin/wget).

Reciba un informe de trabajo de Cron por correo electrónico

Cron se puede configurar para enviar correos electrónicos con los resultados de los trabajos en ejecución. Esta función también puede resultar útil para notificar en caso de error. Para recibir un informe por correo electrónico, debe editar crontab (antes de las tareas) y escribir la siguiente línea:

Dónde [correo electrónico protegido]- este es el correo electrónico al que se enviarán las cartas. También puedes agregar varias direcciones, separadas por comas.

Hay una cosa más: también recibirás el resultado del script por correo electrónico. por ejemplo, si el script escribe algún tipo de inscripción en la pantalla, la misma inscripción se enviará a su correo electrónico junto con el informe. Si esto le molesta, agregue la línea > /dev/null 2>&1 al final de la tarea

30 3 * * 2 /usr/bin/wget -O - -q -t 1 http://mysite.com/file.php > /dev/null 2>&1



Arriba