Está en la página 1de 7

Universidad de Guayaquil

Facultad de Ciencias Matemáticas y Físicas

Carrera de Ingeniería en Sistemas Computacionales

Autor: Cristhian Baidal Herrera. Asignatura: Sistemas


Operativos
Docente: Mgs. Alfonso Rodríguez Guijarro Tarea: #4

Mini Guía Cron y Crontab en Linux.


Cron
Apenas navegas por la web para saber “que es Cron en Linux” te encuentras con que
es uno de los procesos más importante para el control de ejecuciones de tarea, permite
que un script se ejecute en determinado tiempo, controlando el día, mes, hora, minuto,
cada cuantos días y quien ejecuta el determinado script. Según Viñas & Megias (2003):
Muchas de las tareas de administración de un servidor se tienen que llevar a
cabo de forma periódica. También hay muchas acciones, como la actualización,
que necesitan ejecutarse regularmente para su buen funcionamiento. Por este
motivo, es muy importante que el mismo operativo nos proporcione alguna
herramienta para poder configurar eficientemente todas estas ejecuciones
periódicas (pág. 155)

Su nombre proviene de la expresión griega chronos y su significado es tiempo. Es


uno de los demonios o “Daemon” (proceso en segundo plano /background) mas
importantes y habituales en el sistema[ CITATION Yer17 \l 12298 ]

Algunos autores definen cron de las siguientes formas: Es un demonio (proceso en


segundo plano) que se ejecuta desde el mismo instante en el que arranca el
sistema[ CITATION NGu19 \l 12298 ]. Es el nombre del programa que permite a usuarios
Linux/Unix ejecutar automáticamente comandos o scripts (grupos de comandos) a una
hora o fecha especifica [ CITATION Ser05 \l 12298 ]. Cron es una de las herramientas más
útiles de Linux y una de las favoritas de los desarrolladores, ya que permite ejecutar
comandos automatizados en periodos, fechas e intervalos específicos utilizando tanto
scripts de propósito general como específicos de tareas. [ CITATION EsG19 \l 12298 ].
Teniendo idea de que es cron podemos imaginar su uso en administrar cuando se
puede hacer una actualización del sistema, se podría controlar para cada cuanto tiempo
se debería hacer una copia de seguridad, Sistemas de monitorización y automatización
puede ser un ejemplo donde el implementar cron sea de utilidad.

En el sistema de monitorización y automatización de cultivos tendría la función que


se encargara de regular la ejecución de los procesos de recopilación de datos en segundo
plano a intervalos regulares.[ CITATION Her19 \l 12298 ]

Crontab
Al buscar cron se relaciona inmediatamente con Crontab ya que el uno depende del
otro para su posible funcionamiento, sin embargo, el concepto de Crontab es mas
sencillo de tratar debido a que se lo conoce como un archivo de texto, además, este
archivo es especial, por lo que cuenta con comandos especiales dentro de su contenido.

¿Qué es Crontab? Un archivo de texto…Aunque es verdad que se trata de un archivo


con contenido especial. Posee una lista con toso los scripts a ejecutar [ CITATION NGu19 \l
12298 ]. Es tan simple como un archivo de texto…También especifica las fechas, horas,
y los permisos de ejecución de los mismos[ CITATION Yer17 \l 12298 ]. Cada usuario tiene
su propio archivo de Crontab.

Yeraldine (2017) Crontab es la forma mas simple para administrar las tareas de cron en
sistemas tipo multiusuario, ya sea como usuario o simple usuario de sistema.

Programar una tarea cron y Crontab en Linux

En esta parte inicial tomaremos una secuencia de pasos de González (2005). Para poder
utilizar cron en Linux se deberá saber que el crond esta activado en el sistema, se lo
puede saber con los siguientes comandos:

/etc/rc.d/init.d/crond status o también con el siguiente /etc/init.d/crond status

Esto depende de la distro, pero si cuentas con el service podrías probar con:

service crond status El comando de service es el que funciono en mi caso, con una
distro CENTOS 7.8 minimal.
En la sección de Active se puede identificar que esta activado active(running).
Además, se puede revisar a través del comando ps:
Ps -ef | grep crond

Si por alguna razón, cron no está funcionando:


/etc/rc.d/init.d/crond start
Starting crond: [Ok]
Según EsGeeks (2019) los trabajos de Cron se ejecutan en segundo plano y comprueban
constantemente el archivo /etc/crontab y los directorios /etc/cron.*/ y var/spool/cron.
En esta siguiente parte definiremos la SINTAXIS DE CRON.

Para esta parte se realizará de la forma donde se edite directamente del archivo Crontab,
como ya se sabe cada usuario en el Sistema Operativo (S.O) tendrá su propio Crontab,
Aquí nos guiaremos por la autora Yeraldine (2017) para generar tu propio archivo
Crontab (en caso de no ser usuario root) se hace uso del comando.
Para poder editar el archivo Crontab ya existente se digita el siguiente comando.
“crontab -e”
#Ejemplo de definición/sintaxis de cron:
# .------------------------------ minutos( 0 -59)
# | .-------------------------horas (0 - 23)
# | | .----------------------dias del mes (1-31)
# | | | .-------------------meses (1-12) o jan, feb, mar, apr
# | | | | .---------------dias de la semana (0 -6) (Sunday=0 or 7)
# | | | | |
# * * * * * USER COMMAND
# 0 16 * * * root /home/usuario/script.sh
Donde cada asterisco representa una fracción de tiempo que determina el momento de la
ejecución, seguido del usuario bajo el cual se realizara la ejecución (ese usuario puede
ser root o uno que tenga los permisos de ejecución asignados) y por ultimo el comando
a ejecutar.
Ademes cron utiliza 3 símbolos de operador que te permiten multiples valores en un
campo:
 Asterisco (*): Especifica todos los valores posibles para un campo
 Coma (,): Especifica una lista de valores
 Guion (-): Especifica un rango de valores
 Separador (/): Especifica un valor de paso
Luego de ejecutar el comando “Crontab -e” y conocer la sintaxis de cron podemos
ejecutar el siguiente comando al editar el archivo.
0 3 * * * /root/backup.sh
Luego de terminar editar el archivo presiona tecla “Esc” luego escribe “:q” y luego
presiona enter.
Para verificar que la tarea se ejecutara digitamos crontab -l y nos mostrar las tareas
que debemos hacer .

Con “Crontab -d” se puede proceder a eliminar el Crontab creado.


Con “Crontab -c dir” se podrá almacenar el Crontab. Para realizar esta operación se
deben tener permisos de ejecución en dicho directorio.
Para visualizar el ejemplo que Linux brinda de la sintaxis Crontab se puede acceder con
el comando cat /etc/crontab

Según González (2005) las primeras líneas tienen el siguiente significado:


 Shell donde se ejecuta el cron. Si no se especifica, se tomará por defecto el
indicado en la línea /etc/passwd correspondiente al usuario que este ejecutando.
 PATH contiene o indica la ruta a los directorios en los cuales cron buscara el
comando a ejecutar.
 MAILTO es a quien se le envía la salida del comando (si es que tiene salida
alguna)
 HOME es el directorio raíz o principal del comando cron.
Además, al principio indica que si deseas ver mas detalles puedes digitar “man
crontab”, donde se te facilitara más información
Como conclusión se puede definir a cron y a Crontab vitales para el uso de un
administrador de sistemas, donde puede programar tareas de suma importancia dentro
del SO organizándolas con la mejor conveniencia posible como puede ser un backup
(respaldo de archivos o carpetas) o tareas sencillas de recordatorio siempre y cuando
tenga un total control sobre el manejo de la creación de scripts en GNU/Linux.
Bibliografía
EsGeek. (17 de Agosto de 2019). EsGeeks. Obtenido de https://esgeeks.com/guia-basica-cron-
linux/

González, S. (2005). LinuxTotal. Obtenido de https://www.linuxtotal.com.mx/?


cont=info_admon_006

Hernandez, B. I. (2019). riunet.upv. Obtenido de


https://riunet.upv.es/bitstream/handle/10251/124657/I%c3%b1esta%20-
%20Desarrollo%20de%20un%20sistema%20de%20monitorizaci%c3%b3n%20y
%20automatizaci%c3%b3n%20de%20cultivos.pdf?sequence=1&isAllowed=y

NGuerrero. (21 de Diciembre de 2019). Programa en linea. Obtenido de


https://www.programaenlinea.net/cron-crontab-linux-programar-tareas/

Viñas, R. B., & Megias, D. (2003). Sistema Operativo GNU/LINUX Basico. Fundació per a la
Universitat Oberta de Catalunya: UOC Formacion de posgrado. Obtenido de
https://www.valenciatech.com/wp-content/uploads/2018/11/LINUX-ESSENTIALS-
MANUAL.pdf

Yeralndine. (11 de febrero de 2017). Profesional review. Obtenido de


https://www.profesionalreview.com/2017/02/11/cron-y-crontab/

También podría gustarte