Está en la página 1de 9

Universidad Autónoma de Querétaro

Facultad de Informática

Practica #3. Solaris 10

Materia:

Sistemas Operativos II Solaris

Profesor:

Julián Jiménez Tapia

Jiménez Amador Luis Alejandro

Carrera:

Ing. en Telecomunicaciones

Fecha de entrega: 13/03/2011


Calendarización de Procesos
1. Calendarizar en tres trabajos diferentes la ejecución de un comando para varios
minutos después de escribirlos que busque el archivo format en el sistema y la
salida la guarde en archivos como/var/tmp/at1 (2 y 3). Uno de ellos prográmalo para
que sea ejecutado otro día.
a) Registre el número de trabajo creado.
b) Visualice el contenido de ese archivo y registre su información.
c) Verifique la ejecución de cada uno.
Los procesos que se ejecutaran solamente una vez en un momento posterior son
programados mediante el comando at.
A continuación se muestra la sintaxis del comando at para realizar este punto:
#at [-m] <time> [<date>]
– En donde la opción m enviara un mail de confirmación después de ejecutar un proceso,
la opción <time> específica la hora en la que se ejecutara el proceso y <date> especifica
las primeras tres letras de un mes, un dia de la semana o una palabra clave (today or
tomorrows).
a) A todos los procesos (trabajos) programados con el comando at se les asigna un
número de cola (queue number) el cual también es el nombre del archivo por trabajo
programado.
En la figura 1 se muestra el uso del comando at para programar varios procesos, el
resultado de los comandos programados se guardara en un archivo, al salir del prompt de
at mediante la combinación de teclas CTRL+ D se despliega el numero de proceso el
cual se asigna automáticamente.
Figura 1: Programación de procesos con at.
b) Una vez que se ejecutan todos los procesos programados se puede abrir el archivo en
donde se guardo el resultado de cada uno y verificar su salida. En la figura 2, 3 se
muestran el contenido de cada archivo.
El tercer archivo /var/tmp/at3 aun no se ha creado por que la fecha programada para ese
trabajo es para otro día.

Figura 2: Contenido del archivo at1

Figura 3: Contenido del archivo at2


c) Todos los trabajos programados por el
comando at se guardan en el directorio
/var/spool/cron/atjobs una vez que se ejecutan desaparecen de este directorio.
2. Muestra y registra todos los trabajos que están calendarizados.
a) Una lista de los trabajos y el directorio en el que se encuentran.
b) L a hora en la que serán ejecutados cada uno de ellos y con qué Shell
serán ejecutados.
a) Por medio del comando ls junto con la opción – l se pueden ver todos los trabajos
calendarizados dentro del directorio /var/spool/cron/atjobs.
En la figura 4 se observan todos los trabajos que se programaron en el punto 1 .

Figura 4: Trabajos programados por medio


de cat.
b) La opción – l del comando at muestra la información de todos los trabajos programados,
en la figura 5 se observa la información del trabajo programado en el punto 1 para un día
después.
En este caso no se especifico el Shell con el cual se ejecutaran los trabajos por lo que el
Shell que se usara será determinado por las variables de ambiente (/bin/sh es el default).

Figura 5: Salida del comando at con la


opción – l.
3. Elimina el trabajo que creaste para
ser ejecutado otro día y verifica que fue
eliminado exitosamente.
– Para eliminar un trabajo programado se utiliza la
opción r del comando at mas el ID del
trabajo, que es el nombre del archivo.
En la figura 6 se muestra como se elimina un trabajo programado utilizando la opción [-
r<id_job>] del comando cat.

Figura 6: Eliminación de un trabajo programado.


4. Verifica los usuarios que tienen permiso y los que no lo tienen para utilizar el
comando de calendarización por única vez.
Para limitar el uso del comando at se puede editar el archivo /etc/cron.d/at.deny, el cual se crea
cuando se instala Solaris.

Todos los usuarios que se encuentren en este archivo no pueden hacer uso del comando at, pero todos los
demás sí.

Figura 7: Contenido del archivo at.deny.


5. Calendarizar las siguientes tareas:
a) La ejecución de un comando para los diás 28 de cada mes a las 9:45 am y
guardar su salida en /var/tmp/crom1.
b) La ejecución de un comando par los diás lunes de los meses pares a las
9:45 am y guardar su salida en /var/tmp/cron2.
c) La ejecución de un comando para los días lunes último de cada mes a las
9:45am y guardar su salida en /var/tmp/cron3.
Para programar un trabajo que se ejecutara repetidamente se utiliza el comando crontab
para editar los archivos crontab, cada entrada en un archivo crontab contiene el nombre
del comando que será ejecutado.
En la figura 8 se muestra el resultado de ejecutar la siguiente línea de comandos:
– #crontab e
Si no se especifica el usuario para el cual se quiere crear el archivo crontab, el usuario por
default será el que emite el comando.
Figura 8: Estructura de una entrada de un archivo contrab.
En la figura 9 se muestran las nuevas entradas que programaran los
trabajos de los
incisos a), b) y c) de este punto.

Figura 9: Calendarización de diferentes trabajos en un archivo crontab.


6. Obtener la información de
¿Cuántos trabajos están calendarizados?
Ver el contenido de mi archivo de calendarización
Confirmar la ejecución de cada trabajo programado

Con la siguiente línea de comandos se puede verificar que el archivo contrab para el usuario
default (en este caso root) se ha creado:

ls –l /var/spool/cron/crontabs
Figura 10: Contenido del directorio
/var/spool/cron/crontabs.

En la figura 11 se pueden observar los trabajos


calendarizados del punto 5.

Figura 11: Contenido de un archivo crontab.

7. Eliminar uno de los trabajos y verificar que ha sido eliminado

Para eliminar uno de los trabajos ejecutamos la siguiente línea de comandos:


crontab –e

Con esto se abre el archivo crontab del usuario que emitió el comando, en ese archivo se elimina
el trabajo calendarizado que se quiera.
Figura 12: Eliminación de una entrada en el archivo crontab del
super usuario.

8. Verificar, de acuerdo a los archivos . deny y .allow , cuáles


usuarios tienen permisos para
utilizar este comando.

Se puede controlar el acceso al comando crontab por medio de los


siguientes archivos:

/var/cron.d/cron.deny
/var/cron/cron.allow

Todos los usuarios que se encuentren listados en el archivo cron.deny no podrán utilizar el
comando crontab pero todos los demás sí.

Si algún usuario se encuentra en el archivo cron.deny y cron.allow al


mismo tiempo, este podrá
hacer uso del comando crontab ya que el archivo cron.allow se sobre
pone al archivo cron.deny.

Figura 13: Contenido del archivo cron.deny


9. ¿Cuál es el demonio que se encarga de la ejecución de los comandos de calendarización y de
que numero de proceso tiene?

El demonio cron administra la calendarización de los trabajos que se encuentran en los archivos
/var/spool/cron/atjobs y /var/spool/cron/crontab.

En la figura se muestra el número de proceso del demonio


cron.

Figura 14: PID del proceso cron.

10. ¿Cuántos archivos fueron creados en at ? Y ¿Cuántos son crontab?

Por cada trabajo que se programa con el comando at se crea un archivo en el directorio
/var/spool/cron/atjobs con un ID como nombre de archivo.
Con el comando crontab se crea un archivo en donde se pueden calendarizar más de un
trabajo por usuario, en este caso solo se creó un solo archivo contrab que pertenecía al
super usuario ya que no se especifico otro.

También podría gustarte