Está en la página 1de 13

Tecsup

Virtu@l

Automatizaci
n Tareas

Copyright 2010 por TECSUP

Automatizacion de Tareas

Tecsup

Marzo 2010

INDICE
1.
2.
3.

4.
5.

6.
7.

Introduccin ................................................................................ 3
Objetivos ..................................................................................... 3
Ntp ............................................................................................... 3
3.1.
Descripcin ..................................................................... 3
3.2.
Servidores Ntp ................................................................. 4
3.3.
Comando (ntpdate) .......................................................... 4
Clock ........................................................................................... 4
4.1.
Comando (hwclock) ........................................................ 5
Automatizacin de tareas ............................................................ 6
5.1.
Comando at .................................................................. 7
5.2.
Comando (cron, crontab) .............................................. 10
Resumen .................................................................................... 13
BIBLIOGRAFIA ....................................................................... 13

Pgina 2

Tecsup

Automatizacion de Tareas

Marzo 2010

Automatizacin de Tareas
1. Introduccin
El tiempo es un factor de referencia que los Sistemas Operativos
lo usan para asignarlos a sus procesos en sus operaciones a
realizar donde se cronometra el tiempo de vida del proceso
tambin en la asignacin de informacin del tiempo a los archivos
y directorios para saber informacin de cuando se genero,
modifico. En este captulo detallaremos cmo funciona el clock y
herramientas de automatizacin de tares.
2. Objetivos
Describir el funcionamiento del Clock
Planificar ejecucin de tareas en el tiempo.

3. Ntp
Network Time Protocol (NTP) es un protocolo de Internet para
sincronizar los relojes de los sistemas informticos. NTP utiliza
UDP como su capa de transporte, usando el puerto 123. Con NTP
podemos usarlo de referencia para sincronizar los relojes de los
Servidores y tener un tiempo igual.
3.1.

Descripcin
NTP utiliza el Algoritmo de Marzullo con la escala de
tiempo UTC, incluyendo soporte para caractersticas como
segundos intercalares. NTPv4 puede mantenerse
sincronizado con una diferencia mxima de 10
milisegundos (1/100 segundos) a travs de Internet, y
puede llegar a acercarse hasta 200 microsegundos (1/5000
segundos) o ms en redes de rea local sobre condiciones
ideales.
NTP es uno de los protocolos de internet ms viejos que
siguen en uso (desde antes de 1985). NTP fue diseado
originalmente por Dave Mills de la Universidad de
Delaware, el cual lo sigue manteniendo, en conjunto con
un equipo de voluntarios.
El demonio NTP de Linux, es un proceso de nivel de
usuario que se ejecuta continuamente en la mquina que
soporta NTP, y la mayor parte del protocolo est
implementado en este proceso de usuario. Para obtener el
mejor rendimiento de NTP, es importante tener un reloj
NTP estndar con lazo de seguimiento de fase
implementado en el kernel del Sistema operativo, en vez
de slo usar la intervencin de un demonio NTP externo:

Pgina 3

El protocolo NTP es
soportado por todos los
Sistemas Operativos
(Linux, Windows, Mac)

Automatizacion de Tareas

Tecsup

Marzo 2010

todas las versiones actuales de GNU/Linux y Solaris


soportan esta caracterstica.
3.2.

Servidores Ntp
Diferentes organizaciones ofrecen de manera libre sus
Servidores NTP. Estos Servidores va comunicacin NTP
entregaran la informacin del tiempo y que el Cliente al
recibirla actualizare su reloj. Al usar comunicacin UDP la
transferencia de la informacin es rpida.
http://www.pool.ntp.org

3.3.

Link: Informacin de
Servidor de tiempo.

Comando (ntpdate)
ntpdate es un comando que permite sincronizar la fecha y
hora de nuestros sistemas con servidores de hora en
Internet, para ciertas tareas es crtico que la hora del
servidor sea la correcta,
CASO

En Linux actualizar el Clock conectndose a un Servidor


de Tiempo:
# ntpdate u

Al iniciar el arranque
un Sistema Operativo
toma como referencia
al Reloj de Hardware
para actualizar su reloj
de Software

0.pool.ntp.org

4. Clock
El reloj por software de un sistema Linux no siempre es preciso.
Para mantener este reloj Linux utiliza una interrupcin peridica
generada por el hardware, llamada "timer interrupt". En caso de
que existan muchos procesos siendo ejecutados (con respecto a
los recursos disponibles) el sistema podra demorar un poco al
momento de intentar servir la interrupcin, por lo que el reloj de
software puede estar ligeramente atrasado. El reloj por hardware
trabaja independientemente del sistema operativo, as que
usualmente es ms preciso. Si re-inicia de manera frecuente la
computadora (como es el caso para la mayora de los sistemas que
no son servidores) el reloj debe encontrarse prcticamente
correcto.
Si es necesario modificar el reloj de hardware, la manera ms
simple es reiniciar el sistema, ingresar a la pantalla de
configuracin de la BIOS y realizar el cambio de fecha y hora
desde ah. Esta manera evita todos los problemas que podran
suceder si se modifica el reloj desde el sistema. Si la modificacin
desde la configuracin de la BIOS no se puede realizar, modifique
el reloj utilizando date y clock (en ese orden).

Pgina 4

Automatizacion de Tareas

Tecsup

Marzo 2010

CASO

Visualizando la informacin de reloj por Software:


# date

CASO

Visualizando la informacin de reloj por Hardware:


# hwclock --show

4.1.

Comando (hwclock)
El comando hwclock permite la administracin de los
relojes de hardware de software:
Sintaxis:
# hwclock [parmetros]

Parmetro
--show
--systohc
--hctosys

Funcin
Muestra la informacin del reloj de
hardware
Obtienen la fecha y hora desde el reloj de
hardware y modifican el reloj de Software.
Obtienen la fecha y hora desde el reloj de
Software y modifican el reloj de hardware.

CASO

Comparando ambos relojes:


# hwclock --show

Comparando

# date

Pgina 5

Automatizacion de Tareas

Tecsup

Marzo 2010

CASO

Actualizar el reloj de Sistema con el reloj de Hardware:


# hwclock --hctosys

Actualizando

CASO

Actualizar el reloj de Hardware con el reloj de Sistema:


# hwclock --systohc

Actualizando

EJERCICIO

Actualizar el reloj de Hardware con la informacin de la


sincronizacin con un Servidor NTP:
# ntpdate u

0.pool.ntp.org

# hwclock --systohc

Al sincronizarse con un Servidor de Tiempo, la sincronizacin


se realiza en el reloj de Sistema, luego con ayuda del comando
(hwclock) se actualizara al reloj por Hardware

Toda tarea que incluya


comandos, puede
automatizarse

5. Automatizacin de tareas
En la administracin se tiene que realizar diversas tareas en
donde el administrador con el aprendizaje de los comandos lo
realiza en la consola, al tener varias operaciones que realizar se va
complicando porque tendr que tomar un mayor tiempo en
ejecutar los comandos lo cual generara una dependencia del
administrador con las tareas a realizar.
Al ser las tareas operaciones de comandos, mediante una
evaluacin se decidir que tareas se pueden automatizar. Con la
automatizacin conseguiremos planificar el tiempo a ejecutarse
las tareas. Linux provee de servicios que se encargan de la
automatizacin, usualmente existe 2 servicios:
at
cron
La diferencia radica en que el comando (at) realiza la ejecucin de la
tarea en un solo tiempo determinado y el comando (cron) realiza tareas
peridicas quiere decir que puede programarse para que se realice
varias veces en tiempo distintos

Pgina 6

Automatizacion de Tareas

Tecsup

5.1.

Marzo 2010

Comando at
Se utiliza el comando (at) para ejecutar un comando o
comandos una sola vez en el tiempo.
Sintaxis:
# at [hora] [fecha] [incremento] < nombre_archivo

PARMETROS DEL COMANDO at


HORA
FECHA
Hrs (1,2 dgitos)
Hrs:min (3,4 dgitos)
Hrmin (3,4 dgitos)
Now
Noon
Midnight
Next

Mes da ao
Da de la semana
Today
Tomorrow

INCREMENTOS
+n mins
+n hrs
+n days
+n weeks
+n months
+n years

Se utiliza la entrada estndar, pero tambin se puede


utilizar un archivo para indicarle que comandos se desean
ejecutar. Si no se especifica un archivo de entrada, el
comando entrar en modo interactivo y deber ingresar
los comandos, luego de lo cual deber presionar <ctrl> d
para salir.
EJERCICIO

Programar a las 13:11 reiniciar el Servidor:


PROGRAMACION
# at 13:11

Pgina 7

Automatizacion de Tareas

Tecsup

Marzo 2010

La salida de los comandos, incluyendo los mensajes de


error, es enviada al correo del usuario o puede ser re
direccionados.
Se puede determinar que usuarios pueden tener acceso al
comando (at). El archivo (/usr/lib/cron/at.allow)
especfica quienes pueden usar el comando (at). Si este
archivo no existe significa que todos pueden acceder al
comando. El archivo (/usr/lib/cron/at.deny) lista que
usuarios no tienen acceso al comando at. El archivo
(at.deny) es solamente usado si no existe un archivo
(at.allow).
5.1.1.

Especificacin de la fecha
Utilice uno o dos dgitos para especificar la hora
Por ejemplo:
$ at 17

Ejecutar el comando a las 5:00 pm.

El comando at utiliza formato de 24 horas a menos


que se especifique am. o pm. No se permiten
espacios entre el valor numrico del tiempo y la
cadena am o pm. Se permite una especificacin de
cuatros dgitos con: (dos puntos) entre la hora y el
minuto.
Por ejemplo:
$ at 4:35pm
Tambin se permiten cadenas especiales now,
noon y midnight.
Por ejemplo:
$ at noon
Un trabajo puede ser ejecutado en un incremento
de tiempo si se incluye el operador + sintxis del
tiempo.
Por ejemplo:
$ at now + 15 mins
trabajo dentro de 15 minutos

Pgina 8

Ejecutar

el

Automatizacion de Tareas

Tecsup

Marzo 2010

Adems de minutes (mins) , se permiten los


especificadores de tiempo hours (hrs), days,
weeks, months y years con el operador +.
Por ejemplo:
$ at 3:15pm + 6 months
Se puede especificar una fecha sintxis de la hora,
usando el formato Mes da [ao].
Por ejemplo:
$ at 2:15pm Jul 16
Estas especificaciones de fecha parecen complejas,
pero en realidad el formato es bastante natural e
intuitivo, y la mayora de los modos normales de
escribir una fecha funcionarn como se espera. Si
no, el comando at proporcionar un mensaje de
error.
5.1.2.

Visualizando la cola de trabajo


La opcin l permite listar todos los trabajo
enviados con at sobre la base del numero de id,
mostrando la fecha y hora en que estn
planificados. Esta opcin es un alias del comando
(atq).
# at -l
# atq

26
27
5.1.3.

2000-07-07 13:00 a
2000-07-06 18:00 a

Cancelando trabajos
La opcin d se utiliza para retirar trabajos
enviados con el comando at. Esta opcin es un
alias del comando atrm.
# at d <Id_Trabajo>
# atrm <Id_Trabajo>

Por ejemplo:
$ at -d 24

Pgina 9

Automatizacion de Tareas

Marzo 2010

Tecsup

Solo se puede retirar los trabajos que el usuario


haya creado. nicamente el superusuario puede
retirar cualquier trabajo de la cola. Los trabajos
creados con at se almacenan en el directorio
/usr/spool/cron/atjobs hasta que se ejecuten.

5.2.

Comando (cron, crontab)


El comando (cron) es el nombre de un servicio del sistema
que se ejecuta al comienzo de la secuencia de arranque de
todos los sistemas Linux. Se despierta una vez cada
minuto, examina un archivo de control para ver si hay
algn trabajo que ejecutar en ese minuto y luego lo
ejecuta. Si no hay trabajos programados para ese
momento, (cron) vuelve a dormir hasta el siguiente
minuto. Este potente mecanismo de planificacin depende
de la naturaleza multitarea del sistema Linux.
Afortunadamente, Aunque siempre presente, (cron) no
utiliza muchos recursos del sistema.
Adems del uso global de sistema de las funciones (cron),
algunos mecanismos permiten a los usuarios individuales
(adems del superusuario) programar trabajos para su
ejecucin regular a intervalos de un minuto o ms.
Mientras (at) planifica un trabajo para ejecutarlos una sola
vez, la facilidad cron planifica trabajos para ejecutarlos
regularmente a intervalos especficos.

El (crontab) recibe
comandos o archivos de
scripts para que se
ejecuten en un tiempo
a definir

Con (crontab) podra programarse para realizar las


siguientes tareas:
Limpiar el directorio /tmp.
Remover archivos de mensajes y archivos en desuso es
una tarea regular.
Verificar el espacio en disco e enviar un mensaje de
advertencia.
Generar reportes del estado del sistema o ejecutar
trabajos de gran carga en momentos de menos carga
para el sistema.
El comando (crontab) somete los trabajos para que el
demonio cron los ejecute.
Sintaxis:
# crontab [.cronfile]

El archivo .cronfile contiene los comandos que sern


ejecutados.

Pgina 10

Automatizacion de Tareas

Tecsup

Marzo 2010

Se puede determinar que usuarios pueden tener acceso al


comando (crontab). El archivo /usr/lib/cron/cron.allow
especfica quienes pueden usar el comando (crontab). Si
este archivo no existe significa que todos pueden acceder
al comando. El archivo /usr/lib/cron/crontab.deny lista
que usuarios no tienen acceso al comando (crontab). El
archivo crontab.deny es solamente usado si no existe un
archivo crontab.allow.
5.2.1.

Archivo .cronfile
Para ejecutar el comando (crontab) se debe
especificar cul es el archivo que contiene las
tareas a ejecutar.
El archivo puede tener cualquier nombre. Pero es
una buena idea llamarlo .cronfile. Hay dos
beneficios de llamarlo as:
Est oculto a la visualizacin normal.
El nombre hace obvio cual es su funcin.
Cada lnea del archivo .cronfile especifica una
tarea que ser realizada.
Cada usuario puede someter un archivo .cronfile,
pero un archivo .cronfile puede contener varias
tareas.
Una tarea puede ser un simple comando o un
shell script conteniendo varios comandos.
La salida de un comando es enviada al correo del
usuario a menos que sea re direccionada a un
archivo o un terminal.
Especifique rutas completas para los comandos y
archivos que van a ser utilizados.
El archivo .cronfile puede ser creado con el editor
vi u otro editor cualquiera.

5.2.2.

Estructura de la programacin
El archivo .cronfile debe contener seis campos
para cada tarea. Cada campo debe estar separado
de los dems por espacios en blanco o tabs:

Pgina 11

Automatizacion de Tareas

Tecsup

Marzo 2010

DIA DE MES (1-31)

HORA (0-23)

El smbolo (*) representa todos los


valores del campo. En este caso
todos los das del Mes (1-31)

Da de la SEMANA (0-6)
0=Domingo
1=Lunes

MES (1-12)
MINUTO (0-59)
Representa el minuto de la
hora. En el ejemplo figura 3
esto indica que se realizara
al minuto 3 de la hora
indicada. No indica que se
realizar cada 3 minutos

ACCION
SCRIPT a programarse.
Debe de indicarse la ruta
completa

Los cinco primeros campos dan la fecha y hora de


ejecucin, y el ltimo indica la tarea a realizar. Un
nmero en un campo contiene un valor o valores
que da la fecha u hora de ejecucin de la tarea, y
las entradas que contienen asterisco (*) son
interpretadas como todos por el cron. Cada
campo puede tener un valor simple, un rango de
valores separados por un guin, o una lista de
valores separados por comas

En el (cron) se puede
ingresar varias tareas
en diferentes tiempos,
cada lnea es una
programacin de tarea

El primer campo especifica el minuto de la hora


en que se ejecuta la tarea: 00 significa a la hora en
punto, 30 significa 30 minutos sintaxis de la hora,
y as sucesivamente.
El segundo campo especifica la hora del da en
formato de 24 horas; 2 es 2:00 am., 14 es 2:00 pm.
El tercer campo especifica el da del mes, de 1 a 31.
El cuarto campo da el mes del ao, de 1 a 12.
El quinto campo da el da de la semana, desde 0
para el domingo hasta el 6 para el sbado.
Una vez creado el archivo .cronfile utilice el
comando (crontab) para someter el archivo:
# crontab .cronfile

Pgina 12

Automatizacion de Tareas

Tecsup

Marzo 2010

Tambin existe otra forma de ingresar la


programacin. Con la opcin e del (crontab) se
apertura un archivo para el ingreso de la tarea
evitando generar un archivo (.cronfile):
# crontab -e

5.2.3.

Visualizando tareas
Para visualizar las tareas utilice la opcin l
# crontab -l

5.2.1.

Eliminar tareas
Para eliminar las tareas utilice la opcin r
# crontab -r

Evalu los procesos que realiza y ponga a prueba el uso del


(at) o (crontab)

6. Resumen
El protocolo NTP permite sincronizar tiempo en los Sistemas
Operativos
Existe 2 tipos de Clock el de hardware y software.
Comnmente el Sistema Operativo trabaja con su reloj de
Software.
En el tiempo al no tener una alta precisin se desfasa los
relojes de hardware y software.
El comando (hwclock) gestiona el reloj de hardware y
software.
Para la programacin de tareas existe 2 utilitarios (at)
(crontab)
El (at) se programa tareas fijas a realizarse una vez.
El (crontab) se programa tareas peridicas.

7. BIBLIOGRAFIA
Libro de Administracin de Linux
http://www.redhat.com/docs/manuals/linux/

GD

Pgina 13

También podría gustarte