practica #3 solaris_ii

9

Click here to load reader

Upload: alexander-anderson

Post on 30-Jun-2015

55 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practica #3 Solaris_II

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

Page 2: Practica #3 Solaris_II

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.

Page 3: Practica #3 Solaris_II

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.

Page 4: Practica #3 Solaris_II

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.

Page 5: Practica #3 Solaris_II

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.

Page 6: Practica #3 Solaris_II

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

Page 7: Practica #3 Solaris_II

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.

Page 8: Practica #3 Solaris_II

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

Page 9: Practica #3 Solaris_II

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.