Cron es una de las utilidades más útiles que puedes encontrar en cualquier sistema operativo similar a Unix. Cron se usa para programar comandos en un momento específico. Estos comandos o tareas programadas se conocen como "Cron Jobs" . Cron generalmente se usa para ejecutar copias de seguridad programadas, monitorear el espacio en disco, eliminar archivos (por ejemplo, archivos de registro) periódicamente que ya no son necesarios, ejecutar tareas de mantenimiento del sistema y mucho más. En esta breve guía, veremos el uso básico de Cron Jobs en Linux con ejemplos.
1. La guía para principiantes de los trabajos de Cron
El formato típico de un trabajo cron es:
Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute
Simplemente memorice el formato de trabajo cron o imprima la siguiente ilustración y guárdela en su escritorio.
En la imagen de arriba, los asteriscos se refieren a los bloques de tiempo específicos.
Para mostrar el contenido del crontab archivo del usuario conectado actualmente:
$ crontab -l
Para editar los trabajos cron del usuario actual, haz lo siguiente:
$ crontab -e
Si es la primera vez, se le pedirá que elija un editor para editar los trabajos cron.
no crontab for sk - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Choose 1-4 [1]:
Elige cualquiera que se adapte a ti. Así es como se ve un archivo crontab de muestra.
En este archivo, debe agregar sus trabajos cron uno por uno.
Para editar el crontab de un usuario diferente, por ejemplo ostechnix
, hacer:
$ crontab -u ostechnix -e
1.1. Tutorial de trabajos cron
Aquí está la lista de los comandos de trabajo cron más utilizados con ejemplos.
1. Para ejecutar un trabajo cron cada minuto , el formato debería ser como el siguiente.
* * * * * <command-to-execute>
Por ejemplo, si son las 10:00, el siguiente trabajo se ejecutará a las 10:01, 10:02, 10:03 y así sucesivamente.
2. Para ejecutar el trabajo cron cada 5 minutos , agregue lo siguiente en su archivo crontab.
*/5 * * * * <command-to-execute>
Por ejemplo, si son las 10:00, el siguiente trabajo se ejecutará a las 10:05, 10:10, 10:15 y así sucesivamente.
3. Para ejecutar un trabajo cron cada cuarto de hora (es decir, cada 15 minutos), agregue esto:
*/15 * * * * <command-to-execute>
Por ejemplo, si son las 10:00, el siguiente trabajo se ejecutará a las 10:15, 10:30, 10:45 y así sucesivamente.
4. Para ejecutar un trabajo cron cada hora en el minuto 30 :
30 * * * * <command-to-execute>
Por ejemplo, si son las 10:00, el próximo trabajo se ejecutará a las 10:30, 11:30, 12:30 y así sucesivamente.
5. También puede definir varios intervalos de tiempo separados por comas. Por ejemplo, el siguiente trabajo cron se ejecutará tres veces cada hora, en los minutos 0, 5 y 10:
0,5,10 * * * * <command-to-execute>
6. Ejecute un trabajo cron cada media hora es decir, cada 30 minutos :
*/30 * * * * <command-to-execute>
Por ejemplo, si ahora son las 10:00, el próximo trabajo se ejecutará a las 10:30, 11:00, 11:30 y así sucesivamente.
7. Ejecutar un trabajo cada hora (en el minuto 0):
0 * * * * <command-to-execute>
Por ejemplo, si ahora son las 10:00, el próximo trabajo se ejecutará a las 11:00, 12:00, 13:00 y así sucesivamente.
8. Ejecutar un trabajo cada 2 horas :
0 */2 * * * <command-to-execute>
Por ejemplo, si ahora son las 10:00, el próximo trabajo se ejecutará a las 12:00.
9. Ejecutar un trabajo todos los días (Se ejecutará a las 00:00):
0 0 * * * <command-to-execute>
10. Ejecutar un trabajo todos los días a las 3 am :
0 3 * * * <command-to-execute>
11. Ejecutar un trabajo todos los domingos :
0 0 * * SUN <command-to-execute>
O,
0 0 * * 0 <command-to-execute>
Se ejecutará exactamente a las 00:00 del domingo.
12. Ejecute un trabajo todos los días de la semana de lunes a viernes es decir, todos los días de la semana :
0 0 * * 1-5 <command-to-execute>
El trabajo comenzará a las 00:00.
13. Ejecutar un trabajo cada mes (es decir, a las 00:00 del día del mes 1):
0 0 1 * * <command-to-execute>
14. Ejecutar un trabajo a las 16:15 del día del mes 1 :
15 16 1 * * <command-to-execute>
15. Ejecutar un trabajo cada trimestre es decir, el día del mes 1 cada 3 meses:
0 0 1 */3 * <command-to-execute>
16. Ejecutar un trabajo en un mes específico en un momento específico :
5 0 * 4 * <command-to-execute>
El trabajo comenzará a las 00:05 en abril.
17. Ejecutar un trabajo cada 6 meses :
0 0 1 */6 * <command-to-execute>
Este trabajo cron comenzará a las 00:00 del día del mes 1 cada 6 meses.
18. Ejecutar un trabajo cada año :
0 0 1 1 * <command-to-execute>
Este trabajo cron comenzará a las 00:00 del día del mes 1 de enero.
También podemos usar las siguientes cadenas para definir un trabajo cron.
Cadenas de trabajo cron | Acción |
@reboot | Ejecutar una vez, al inicio. |
@anualmente | Ejecutar una vez al año. |
@anualmente | (igual que @anual). |
@mensual | Ejecutar una vez al mes. |
@semanalmente | Ejecutar una vez a la semana. |
@diariamente | Ejecutar una vez al día. |
@medianoche | (igual que @daily). |
@por hora | Ejecutar una vez por hora. |
19. Para ejecutar un trabajo cada vez que se reinicia el servidor , agregue esta línea en su archivo crontab.
@reboot <command-to-execute>
20. Para eliminar todos los trabajos cron para el usuario actual:
$ crontab -r
21. Para ver el uso detallado del trabajo cron, consulte las páginas del manual.
$ man crontab
En esta etapa, es posible que tenga una comprensión básica de qué es Crontab y cómo crear, ejecutar y administrar trabajos cron en sistemas Linux y similares a Unix.
Ahora aprenderemos sobre algunas herramientas gráficas que nos ayudan a hacer que la gestión de trabajos cron sea mucho más fácil.
2. Generadores de sintaxis crontab
Como puede ver, programar trabajos cron es mucho más fácil. También hay algunos generadores de sintaxis crontab basados en la web disponibles para hacer este trabajo aún más fácil. No necesita memorizar y/o aprender la sintaxis de crontab.
Los siguientes dos sitios web lo ayudan a generar fácilmente una expresión crontab basada en sus entradas. Una vez que haya generado la línea según sus requisitos, simplemente cópiela/péguela en su crontab archivo.
2.1. Crontab.gurú
Crontab.gurú es un sitio web dedicado para aprender ejemplos de trabajos cron. Simplemente ingrese sus entradas en el sitio e instantáneamente creará una sintaxis crontab en minutos.
Este sitio también proporciona una gran cantidad de ejemplos de trabajos cron y consejos . Revíselos y aprenda a programar un cronjob.
2.2. Generador Crontab
Esto ha sido señalado por uno de nuestros lectores Mr.Horton en la sección de comentarios a continuación.
Generador de crontab es otro sitio web que nos ayuda a generar rápida y fácilmente expresiones crontab. En este sitio se proporciona un formulario que tiene múltiples entradas. El usuario debe elegir todos los campos obligatorios en el formulario.
Finalmente, presiona "Generar línea crontab" botón en la parte inferior.
En la siguiente pantalla, el usuario verá su expresión crontab. Simplemente cópielo/péguelo en el archivo crontab. Es así de simple.
Fácil, ¿no? Ambos sitios web definitivamente ayudarán a los novatos que no tienen mucha experiencia en la creación de trabajos cron.
3. Interfaces gráficas Crontab
Hay algunas herramientas front-end de Crontab disponibles para crear fácilmente trabajos cron a través de una interfaz gráfica. ¡No es necesario editar el archivo Crontab desde la línea de comandos para agregar o administrar trabajos cron! ¡Estas herramientas harán que la administración de trabajos cron sea mucho más fácil!
3.1. Interfaz de usuario de Crontab
Interfaz de usuario de Crontab es una herramienta basada en la web para administrar de manera fácil y segura los trabajos cron en Linux. No necesita editar manualmente el archivo crontab para crear, eliminar y administrar trabajos cron. Todo se puede hacer a través de un navegador web con un par de clics del mouse.
La interfaz de usuario de Crontab le permite crear, editar, pausar, eliminar, hacer copias de seguridad de trabajos cron y también importar, exportar e implementar trabajos en otras máquinas sin mucha molestia.
Eche un vistazo al siguiente enlace si está interesado en leer más al respecto.
- Cómo administrar trabajos cron de forma fácil y segura en Linux
3.2. Zeit
Zit es una interfaz Qt para crontab
y at
dominio. Con Zeit, podemos agregar, editar y eliminar trabajos cron a través de una interfaz gráfica simple. Para obtener más detalles, consulte el siguiente enlace:
- Zeit:una interfaz gráfica de usuario para Crontab para programar trabajos en Linux
4. Conclusión
En este tutorial de la pestaña Cron, discutimos qué es un trabajo cron y el uso básico de trabajos cron en Linux con comandos de ejemplo. También discutimos algunos generadores de sintaxis crontab basados en la web y interfaces gráficas crontab que se utilizan para crear y administrar fácilmente trabajos cron en Linux.