Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Qu es cron? Cron es el nombre del programa que permite a usuarios Linux/Unix ejecutar automticamente comandos o scripts (grupos de comandos) a una hora o fecha especfica
AAlarcn UTFSM
Como iniciar el Cron Generalmente, el servicio Cron, viene habilitado por defecto, y el demonio asociado a l es el
crond
AAlarcn UTFSM
Sin embargo hay a lo menos tres formas de poder validar si el servicio se encuentra activo #> /etc/rc.d/init.d/crond status
AAlarcn UTFSM
Si se encuentra instalado el utilitario service, se puede ocupar el comando #> service crond status Lo que arrojara lo siguiente
AAlarcn UTFSM
AAlarcn UTFSM
Si el servicio no estuviera configurado para arrancar desde un principio, bastara con agregarlo con el comando chkconfig:
Como usar el Cron El servicio Cron, se puede usar de dos formas, la primera de ella es colocar el script en los directorios que se encuentran en el /etc
AAlarcn UTFSM
cron.dialy
cron.weekly
cron.monthly
AAlarcn UTFSM
Si se coloca un archivo tipo script en cualquiera de estos directorios, entonces el script se ejecutar cada hora, cada da, cada semana o cada mes, dependiendo del directorio
AAlarcn UTFSM
Nte que la primera lnea empieza con #!/bin/sh#script , que indica que se trata de un script shell de bash, las dems lneas son los comandos que deseamos ejecute el script. Este script podra nombrarse por ejemplo respaldo.sh
AAlarcn UTFSM
Sin embargo, para que pueda ser ejecutado, se le deben cambiar los permisos
#> chmod 700 respaldo.sh #> ls -l respaldo.sh
-rwx------ 1 root root 0 Jul 20 09:30 respaldo.sh
AAlarcn UTFSM
Si este script lo dejamos en cron.hourly, entonces se ejecutar cada hora con un minuto de todos los das.
AAlarcn UTFSM
La segunda forma de ejecutar o usar cron es a travs de modificar directamente el archivo /etc/crontab
AAlarcn UTFSM
Cuando se visualiza por primera vez este archivo, este contiene informacin de la shell, del directorio Home, y de los runparts
AAlarcn UTFSM
Las primeras cuatro lneas, son: SHELL es el 'shell' bajo el cual se ejecuta el cron. Si no se especifica, se tomar por defecto el indicado en la lnea /etc/passwd correspondiente al usuario que este ejecutando cron
AAlarcn UTFSM
PATH contiene o indica la ruta a los directorios en los cuales cron buscar el comando a ejecutar. Este path es distinto al path global del sistema o del usuario
AAlarcn UTFSM
MAIL TO es a quien se le enva la salida del comando (si es que este tiene alguna salida). Cron enviar un correo a quien se especifique en este variable
AAlarcn UTFSM
HOME es el directorio raz o principal del comando cron, si no se indica entonces, la raz ser la que se indique en el archivo /etc/passwd correspondiente al usuario que ejecuta cron.
AAlarcn UTFSM
A continuacin vienen los run-parts 01 * * * * root run-parts /etc/cron.hourly Da de la Mes Semana Usuario
AAlarcn UTFSM
Comando
Campo
Descripcin
Controla el minuto de la hora en que el comando ser ejecutado, este valor debe de estar entre 0 y 59. Controla la hora en que el comando ser ejecutado, Hora se especifica en un formato de 24 horas, los valores deben estar entre 0 y 23, 0 es medianoche. Da del mes en que se quiere ejecutar el comando. Da del Por ejemplo se indicara 20, para ejecutar el comando Mes el da 20 del mes. Mes en que el comando se ejecutar, puede ser Mes indicado numricamente (1-12), o por el nombre del mes en ingls, solo las tres primeras letras. Minuto
AAlarcn UTFSM
Da en la semana en que se ejecutar el comando, puede Da de la ser numrico (0-7) o por el nombre del da en ingls, solo semana las tres primeras letras. (0 y 7 = domingo)
Usuario Usuario que ejecuta el comando. Comando, script o programa que se desea ejecutar. Este Comando campo puede contener mltiples palabras y espacios.
AAlarcn UTFSM
Tambin es posible especificar listas en los campos. Las listas pueden estar en la forma de 1,2,3,4 o en la forma de 1-4 que sera lo mismo. Cron, de igual manera soporta incrementos en las listas, que se indican de la siguiente manera
AAlarcn UTFSM
Tabla N2
AAlarcn UTFSM
El problema en los casos anteriores, es que solo el root puede generar los cron
Debido a esto es que existe la siguiente forma de generar cron de mltiples usuarios
AAlarcn UTFSM
Pero cuando los usuarios normales (e incluso root) deseen generar su propio archivo de crontab, entonces utilizaremos el comando crontab
AAlarcn UTFSM
Para ello, deberemos conocer tres comandos esenciales para trabajar con el cron
Por lo que, cada ves que se requiera generar un cron, se debe ejecutar el comando crontab e, que abrir un planilla en vi El problema radica en que cada vez que necesitamos modificar el Cron, se debe sacar de la tabla con crontab -r
AAlarcn UTFSM
Este comando adems de sacarlo de la tabla de cron, tambin lo borra, por lo que debemos tipear, nuevamente todo el comando cron
AAlarcn UTFSM
Finalmente, existe una solucin para estos problemas, y radica en utilizar la cuarta forma de generar cron, que adems, permitira generar ms de un cron por usuario
AAlarcn UTFSM
Para ello debemos conocer un cuarto comando del crontab $> crontab archivo.cron
AAlarcn UTFSM
Por lo tanto, deberemos tener a lo menos dos archivos para que un cron corra perfectamente.
Cron, puede controlar que no todos los usuarios del sistema puedan hacer uso del demonio crontab
AAlarcn UTFSM
Para ello, solo basta con modificar un par de archivos, colocando el nombre de los usuarios en ellos /etc/cron.allow permite usuarios
AAlarcn UTFSM
Finalmente, recuerde que existen cuatro comandos bsicos que debe conocer para generar cron $> crontab archivo.cron $> crontab -e $> crontab -l $> crontab -r
AAlarcn UTFSM