Está en la página 1de 6

HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

CRON

Objetivo:
Elaborar y comprender el funcionamiento del CRON para la realización de
tareas programadas en Unix/Linux.

TAREA 12. Contestar en Word las respuestas de las siguientes preguntas.


Luego subir a Educatec el archivo creado con las respuestas.

1. ¿Para qué se utiliza el comando cron en Linux?


El comando “cron” en Linux se utiliza para programar tareas automáticas que
deben ejecutarse periódicamente en el sistema. Permite a los usuarios
programar la ejecución de scripts, comandos o programas en momentos
específicos, ya sea de forma recurrente o en una fecha y hora determinadas.
“cron” utiliza un archivo llamado “crontab” que contiene las instrucciones para
ejecutar las tareas programadas. Cada usuario puede tener su propio archivo
crontab, y el sistema también puede tener un archivo crontab del sistema que
contiene tareas que se ejecutan con privilegios del sistema.
Algunos ejemplos de tareas que se pueden programar con “cron” incluyen:
• Copia de seguridad regular: Es posible reprogramar la ejecución de un
script que realice copias de seguridad de los archivos importantes a
intervalos regulares.
• Actualizaciones del sistema: Se puede usar “cron” para programar la
ejecución de comandos de actualización del sistema, asegurándose así
de que el sistema siempre esté actualizado.
• Limpieza de archivos temporales: Es posible reprogramar la
eliminación de archivos temporales o innecesarios de forma periódica
para liberar espacio en el disco.
• Ejecución de scripts personalizados: Si se tienen scripts
personalizados que se desean ejecutar a intervalos específicos, “cron”
permite automatizar esa tarea.
• Generación de informes: Se puede usar “cron” para ejecutar scripts que
generen informes automáticamente y sean enviados por correo
electrónico o se guarden en un directorio específico.
2. ¿Para qué se utiliza el archivo crontab?
El archivo crontab es un archivo especial en sistemas Unix y Linux que
contiene las instrucciones para el programa “cron”. “cron” es un servicio que
ejecuta tareas programadas automáticamente en intervalos específicos. El
archivo crontab contiene la lista de tareas programadas, así como la
información sobre cuándo deben ejecutarse.
HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

Cada línea en un archivo crontab representa una tarea programada y sigue


un formato específico con cinco campos de tiempo, seguidos por el comando
o script a ejecutar. Los campos de tiempo indican cuándo debe ejecutar la
tarea, especificando los minutos, horas, días del mes, meses y días de la
semana.
Por ejemplo, la siguiente línea en un archivo crontab ejecutaría un script todos
los días a las 2:30 AM:
30 2 * * * /ruta/al/script.sh
Algunos usos comunes del archivo crontab incluyen:
Tareas de respaldo: Programar la ejecución de scripts que realicen copias
de seguridad de datos importantes de manera regular.
Actualizaciones automáticas: Automatizar la instalación de actualizaciones
de software o del sistema en momentos específicos.
Mantenimiento del sistema: Ejecutar tareas de limpieza, como la
eliminación de archivos temporales o la optimización de bases de datos.
Generación de informes: Programar la ejecución de scripts que generen
informes y los envíen por correo electrónico o los almacenen en un lugar
específico.
3. ¿Cuál es el comando y opción utilizada para modificar el archivo
crontab?
Para modificar el archivo crontab en Linux, se puede usar el comando
“crontab” junto con la opción “-e” para editar el crontab del usuario actual.
El comando “crontab -e” abrirá el crontab del usuario actual en el editor de
texto predeterminado que generalmente es “vi” o “nano”). Se pueden agregar,
modificar o eliminar líneas según las necesidades.
Al ejecutar “crontab -e”, el sistema abrirá el archivo crontab en un editor de
texto. Cada línea en el archivo representa una tarea programada y sigue el
formato de cinco campos de tiempo seguidos por el comando a ejecutar.
Después de realizar las modificaciones en el archivo, se guardan los cambios
y se cierra el editor. El sistema automáticamente actualizará el crontab con
los cambios.
Además de “-e”, hay otras opciones útiles que se pueden usar con el
comando “crontab”:
• “-l”: Muestra el contenido actual del crontab.
• “-r”: Elimina el crontab actual.
4. Escriba la sintaxis que se incluye en el archivo crontab para ejecutar
órdenes o scripts, además explique que valores se pueden incluir en
cada campo o columna.
La sintaxis del archivo crontab sigue el siguiente formato:
HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

m h dom mon dow command


Donde:
• m: Minutos (0-59)
• h: Horas (0-23)
• dom: Días del mes (1-31)
• mon: Mes (1-12)
• dow: Días de la semana (0-6) (0 es domingo, 1 es lunes, …, 6 es sábado)
• command: Comando o script a ejecutar.
La columna “command” puede contener cualquier comando de Shell
válido. Se pueden especificar rutas completas para scripts o comandos si
es necesario.
Recordando que el símbolo “*” en un campo significa “cualquier valor”.
Además, se pueden utilizar comodines como “/” para indicar intervalos y
“-” para rangos en los campos de tiempo. La combinación correcta de
estos valores permite programar tareas en momentos específicos o a
intervalos regulares.
5. Escriba un ejemplo con valores (no usar *) y describa qué hace su
ejemplo (se crea un directorio los lunes a las 8ls horas en el primer día
de cada semana) o (se copia el directorio /home al directorio /protect
cada sábado a las 21 horas).
Para el primer ejemplo, suponiendo que se desea crear un directorio llamado
“nuevo_directorio” todos los lunes a las 8 A.M. La entrada en el archivo
crontab sería la siguiente:
0 8 * * 1 mkdir /ruta/del/directorio/nuevo_directorio
Esto se traduce de la siguiente manera:
• 0: Cero minutos.
• 8: A las 8 de la mañana.
• *: Cualquier día del mes.
• *: Cualquier mes
• 1: Los lunes (ya que 1 representa el lunes en el campo “dow”).
• mkdir /ruta/del/directorio/nuevo_directorio: El comando a ejecutar que
este caso es “mkdir” para crear un nuevo directorio.
Por lo tanto, este ejemplo programaría la creación del directorio
“nuevo_directorio” todos los lunes a las 8 A.M.
Para el segundo ejemplo, suponiendo que se desea copiar el contenido del
directorio “/home” al directorio “/protect” cada sábado a las 21 horas. La
entrada en el archivo crontab sería la siguiente:
0 21 * * 6 cp -r /home/´/protect/
HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

Esto se traduce de la siguiente manera:


• 0: Cero minutos.
• 21: A las 9 de la noche.
• *: Cualquier día del mes.
• *: Cualquier mes.
• 6: Los sábados (ya que 6 representa el sábado en el campo “dow”).
• cp -r /home/´/protect/: El comando a ejecutar, que en este caso es “cp”
para copiar recursivamente (“-r”) el contenido de “/home” a “/protect/”.
Por ende, este ejemplo programaría la copia del contenido del directorio
“/home” al directorio “/protect” cada sábado a las 9 P.M.
6. Escriba el comando y opción para mostrar el contenido del crontab
una vez que lo tenga creado. Asimismo, muestre la salida de la
ejecución del comando.
Para mostrar el contenido del crontab después de haberlo creado, se usa el
comando “crontab” seguido de la opción “-l”. Es decir: crontab -l
Este comando mostrará el contenido actual del crontab en la terminal. Si
recién se crea un nuevo crontab o se realizaron modificaciones, se verán las
líneas correspondientes a las tareas programadas.
Suponiendo que previamente se ha creado el ejemplo para copiar el
contenido del directorio “/home” al directorio “/protect” cada sábado a las 21
horas. Después de ejecutar el comando “crontab -l” la salida podría verse así:
0 21 * * 6 cp -r /home/* /protect/
Esta línea representa la tarea que se ha programado en el crontab y muestra
la configuración específica para esa tarea. Si no hay tareas programadas, la
salida será simplemente una línea en blanco.
HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

PRÁCTICA 12.

Crear un crontab que: (no utilizar rutas absolutas)

• En el minuto 1 crear el archivo jeag1 sin datos (sustituir jeag por sus iniciales en
este y los siguientes donde se mencione jeag)
• En el minuto 2 crear el directorio directo.
• En el minuto 3 copiar el archivo creado en el minuto 1 al directorio directo
• En el minuto 4 mostrar en formato largo el contenido del directorio de trabajo
(no del archivo directo) y guardarlo en el archivo jeag2
• En el minuto 5 mostrar el mes y año actual del calendario y guardarlo en el
archivo jeag3
• En el minuto 6 mandar el mensaje “soy (nombre) y (apellido)” y agregarlo al
archivo jeag3
HÉCTOR DANIEL SALAS PÉREZ TAREA 12 NOVIEMBRE 12 DE 2023

Después de pasar los 6 minutos, verificar la ejecución correcta:


1. Mostrar el contenido del directorio de trabajo en formato largo

2. Verificar en el listado del directorio de trabajo que en cada minuto se


realizaron las actividades solicitadas
3. Mostrar el contenido de los archivos jeag1, jeag2 y jeag3

Comando y parámetros

crontab cron

Nota: no utilizar asterisco (*) en la columna de minuto


Bibliografía
• Nemeth, E., Snyder, G., Hein, T. R., & Whaley, B. (2011). Unix(r) and Linux(r) System

Administration Handbook. Prentice Hall.

• Shotts, W. E., Jr. (2019). The Linux command line, 2nd edition: A complete introduction.

No Starch Press.

También podría gustarte