Siempre hay más cosas que puede hacer con mucha más comodidad. La gestión de tareas repetitivas mediante un proceso automatizado es algo que prefieren los webmasters. Si usa un sistema operativo similar a Unix, un Cron Job puede ahorrarle tiempo al ejecutar una tarea automáticamente.

En este artículo, le mostraremos los conceptos básicos de un trabajo cron y cómo usarlo para programar tareas.

Guardar hasta 77% ¬°hoy y echa un vistazo a los planes VPS de Hostinger!

Haga clic aquí

Los fundamentos de un trabajo cron

Básicamente, puede crear y dictar un Cron Job utilizando diferentes métodos. En este tutorial, le mostraremos cómo puede hacer esto usando la Terminal de Linux.

Si tiene un VPS en Hostinger, puede encontrar sus credenciales de inicio de sesi√≥n en la pesta√Īa de administraci√≥n de su VPS. De esta forma, puede acceder a su servidor a trav√©s de SSH. Si necesita detalles sobre c√≥mo hacer esto, vaya a Tutorial PuTTY SSH.

A continuación se muestran algunas operaciones básicas que puede realizar Cron Jobs:

Si desea editar un archivo crontab para el usuario actual, escriba el siguiente comando en su terminal:

crontab -e

El resultado que obtendr√° es similar al de la figura siguiente.

Como usa vio editor, Puedes aprender comandos vi para asegurarse de tomar las acciones correctas.

Si desea editar el crontab de otro usuario, puede escribir crontab -u nombre de usuario -e. Tenga en cuenta que solo puede hacer esto como superusuario. Esto significa que debe escribir sudu su antes de ingresar el comando.

Si desea eliminar el archivo crontab actual del usuario actual, ingrese el siguiente comando:

crontab -r

Es lo mismo que -r. Sin embargo, ofrece al usuario una opción sí / no antes de eliminar crontab:

crontab -i

Si desea mostrar el contenido del archivo crontab en el que est√° conectado actualmente, escriba el siguiente comando en la terminal:

crontab -l

Otra operación le permite ver si ya hay archivos crontab creados. Simplemente puede escribir crontab -l. Si no tiene ninguno, verá este resultado a continuación.

Adem√°s, si desea ver listas de archivos crontab de otros usuarios, puede escribir crontab -u nombre de usuario -l como superusuario.

Además de conocer estas operaciones básicas, es importante que también aprenda la sintaxis básica.

Por lo tanto, tenga en cuenta que un archivo crontab consta de dos partes: el temporizador de programación y el comando. Así es como se escribe el comando.

* * * * * /bin/sh backup.sh
  • El trabajo de Cron ***** / bin / sh backup.sh significa que realizar√° una copia de seguridad cada minuto.
  • 30 18 *** rm / inicio / sydtesting / tmp / * significa que eliminar√° el archivos tmp en / inicio / sydtesting / tmp todos los d√≠as a las 18: 30h.

Veremos algunos detalles adicionales m√°s adelante.

Cómo escribir una sintaxis Cron correctamente

Como mencionamos anteriormente, un archivo crontab contiene 5 campos, cada uno representado por un asterisco, que determinan la fecha y hora en que una determinada tarea est√° programada para realizarse repetidamente.

  • Minuto (Minuto): es el minuto de la hora en que se ejecutar√° el comando, con un rango de 0 a 59.
  • Hora (Hora): es la hora a la que se ejecutar√° el comando, comprendida entre 0 y 23.
  • D√≠a del mes (D√≠a del mes): es el d√≠a del mes en el que se ejecutar√° el comando, comprendido entre 1 y 31.
  • Mes (Mes): es el mes en el que se ejecutar√° el comando, comprendido entre 1 y 12.
  • D√≠a de la semana (D√≠a de la semana): es el d√≠a de la semana en el que desea que se ejecute el controlador, de 0 a 7.

Adem√°s, debe utilizar los caracteres adecuados en cada archivo crontab.

  • Asterisco (*) – define todos los par√°metros de programaci√≥n.
  • Coma (,) – Mantiene dos o m√°s horas de ejecuci√≥n en un solo comando.
  • Gui√≥n (-) – determina el intervalo de tiempo al definir varios tiempos de ejecuci√≥n de un solo comando.
  • Barra inclinada (/) – crea intervalos de tiempo predeterminados dentro de un intervalo de tiempo espec√≠fico.
  • √öltimo (L) – tiene el prop√≥sito espec√≠fico de determinar el √ļltimo d√≠a de la semana del mes respectivo. Por ejemplo, 3L significa el √ļltimo mi√©rcoles.
  • D√≠a de la semana (W) – determina el d√≠a de la semana m√°s cercano a una hora determinada. Por ejemplo, 1W significa que si el Primero un s√°bado, el comando se ejecutar√° el lunes (Tercero).
  • Hash (#) – para determinar el d√≠a de la semana, seguido de un n√ļmero comprendido entre 1 y 5. Por ejemplo, 1 # 2 significa el segundo lunes.
  • Punto de interrogaci√≥n (?) – Sirve para dejar un espacio.

12 ejemplos de sintaxis Cron

Ahora que ha aprendido a escribir una sintaxis cron correctamente, le mostraremos m√°s ejemplos para ayudarle a comprender mejor las reglas anteriores.

Antes de continuar, tenga en cuenta que la salida del comando se enviará automáticamente a su cuenta de correo electrónico local. Entonces, si desea dejar de recibir estos correos electrónicos, puede agregar > / dev / null 2> & 1 a la sintaxis. Como en el ejemplo:

0 5 * * * /root/backup.sh >/dev/null 2>&1

Además, si desea recibir correo electrónico saliente en una cuenta específica, puede agregar MAILTO, seguido de la dirección de correo electrónico. Aquí hay un ejemplo:

MAILTO="myname@hostinger.com"
0 3 * * * /root/backup.sh >/dev/null 2>&1

A continuación se muestran algunos ejemplos más de sintaxis de Cron:

ExpresiónSentido
0 0 * * * / bin / sh backup.shHaga una copia de seguridad de su base de datos a la medianoche todos los días.
0 6.18 * * * / bin / sh backup.shRealice una copia de seguridad de la base de datos dos veces al día (a las 6 am y a las 6 pm).
0 * / 6 * * * /scripts/monitor.shHacer seguimiento cada 6 horas.
* / 10 * * * * /home/user/script.shPara ejecutar un trabajo cron para el archivo de script ubicado en el directorio de inicio cada 10 minutos.
0 * 20 7 * / bin / sh backup.shRealizar una copia de seguridad de la base de datos cada hora el 20 de julio.
0 0 * * 2 * / bin / shPara realizar una copia de seguridad de la base de datos a la medianoche todos los martes.
* * * 1,2,5 * /script/script.shEjecutar un comando en enero, febrero y mayo.
10-59 / 5 5 * * * /home/user/script.shPara ejecutar un comando cada 5 minutos a las 5:00 am, comenzando a las 5:00 am.
0 8 1 * / 3 * /home/user/script.shPara ejecutar un comando trimestralmente el primer día a las 8:00 am
* * * * * /scripts/script.sh; /scripts/scrit2.shPara definir un horario para m√ļltiples tareas en un solo trabajo cron.
@reboot /scripts/script.shPara realizar una determinada tarea cada vez que inicia el sistema.
0 0 1 * * /home/user/script.shPara ejecutar un comando el primer día de cada mes.

Permisos de cron

Dos archivos juegan un papel importante cuando se trata de trabajos cron.

  • /etc/cron.allow ‚ÄďSi existe cron.allow, debe indicar el nombre de usuario para que el usuario utilice trabajos cron.
  • /etc/cron.deny – si el archivo cron.allow no existe, pero el archivo cron.deny existe, entonces, para usar trabajos cron, el usuario no debe estar incluido en el archivo cron.deny.

¬ŅQu√© es Cron Job?

Cron es un programa de utilidad para repetir tareas en una fecha futura. Dar un comando que programe una tarea, en un momento específico, repetidamente es un trabajo cron.

Si desea programar un trabajo una vez, es posible que desee utilizar otro comando. Pero, para trabajos recurrentes, cron es la solución perfecta.

Cron es un demonio. Esto significa que funciona en segundo plano para realizar tareas no interactivas. En Windows, es posible que esté más familiarizado con los procesos en segundo plano con el servicios.

Un demonio siempre est√° en estado inactivo y est√° esperando una solicitud de comando para realizar una determinada tarea. Esta tarea puede ser desde el interior de la computadora principal o desde cualquier otra m√°quina conectada a la misma red.

Un archivo Cron es siempre un archivo de texto que contiene comandos para ejecutarse en un momento específico. El sistema predeterminado para el archivo contab es / etc / crontab y se encuentra dentro del directorio crontab, que es /etc/cron.*/. Solo los administradores pueden editar un archivo crontab del sistema.

Sin embargo, como los sistemas operativos Unix admiten varios usuarios, cada uno puede crear su propio archivo crontab y emitir comandos para realizar tareas en el momento que desee. Un demonio Cron verificar√° el archivo y ejecutar√° el comando en segundo plano del sistema.

Con Cron Jobs, puede automatizar el mantenimiento del sistema, supervisar el espacio en disco y programar copias de seguridad. Debido a su naturaleza, Cron Jobs es ideal para computadoras que funcionan todos los días y horas de la semana: un servidor.

Solo adhi√©rase al hecho de que los trabajos de Cron son utilizados principalmente por administradores de sistemas y tambi√©n son bastante √ļtiles para los desarrolladores. Por ejemplo, para deshabilitar una cuenta caducada, verifique si hay enlaces rotos o incluso env√≠e boletines a usuarios espec√≠ficos.

Conclusión

Establecer una tarea programada automáticamente no solo es práctico, sino que también evita que se olvide de hacerlo sin cuidado.

Cron Job es una excelente manera de administrar ciertas tareas tanto como administrador de tareas como desarrollador. Todo lo que tienes que hacer es usar el comando correcto y elegir el momento adecuado.

Estos son algunos comandos b√°sicos:

  • PS crontab -e – para crear y editar un archivo crontbab.
  • PS crontab -u nombre de usuario -e – para editar el archivo crontab de otro usuario con acceso de superusuario.
  • PS crontab -l – para ver una lista de archivos crontab para los usuarios actuales.
  • $ contrab -r – para eliminar archivos contrab.
  • PS crontab -a nombre de archivo – instalar nombre del archivo como un archivo contrab (en algunos sistemas, -Los no es necesario).

Así que ahora, ¡deje que la automatización de comandos haga todo por usted, en cualquier momento que desee!