lunes, 28 de noviembre de 2011

Automatización de tareas



¿Qué es la automatización de tareas?


             La automatización de tareas es, en informática, el conjunto de métodos que sirven para realizar tareas repetitivas en un ordenador. Algunos métodos para la automatización de tareas son la programación simple, los macros (conjunto de sentencias).... También hay algunos programas específicos que automatizan tareas. Incluso los virus informáticos utilizados de forma benéfica podrían considerarse otro método para la automatización de tareas.


Ventajas:

              El principio básico de automatizar es que el hombre no intervenga en un proceso sistemático real, y si lo hace deberá ser lo menos posible. De esta manera el administrador podrá solucionar mayor número de incidencias en menor tiempo.


Planificación de tareas en UNIX. 


Comandos
               Cuando realizamos tareas de administración hay ocasiones en que queremos ejecutar programas o comandos en un determinado momento, o de forma periódica, para ahorrar tiempo y esfuerzo podemos indicarle al sistema que ejecute estas tareas por nosotros en un momento determinado. Bastará editar un archivo o un simple comando y nuestro Linux se ocupará de todo. Esto lo podemos hacer mediante el comando at o mediante el servicio crontab.
                Crontab es un demonio que se ejecuta una vez por minuto, y decide si debe ejecutar las acciones que le hemos indicado según lo que le hayamos especificado en el archivo /etc/crontab. Cada usuario guardará su propia versión de este archivo.
                 Otra opción es usar el comando at, que mediante unas simples indicaciones desde la línea de comandos indicará al sistema cuando debe realizar una tarea.
     

   > /etc/init.d/atd status
        Checking for at daemon: running
   > at noon tomorrow < vaciar_papelara     
   > at 2000 pm August 22 < vaciar_papelara // vacía la papelera a las 20:00 el 22 de agosto
   > at now + 1 hours < vaciar_papelara     // Ejecutara el script vaciar papelera dentro de una hora  
   > atrm *                                 // eliminamos los trabajos pendientes


Herramientas Gráficas

                         Posiblemente la más utilizada sea Webmin (http://www.webmin.com), mediante el módulo de sistema dedicado a la automatización. Una vez instalado webmin, así como los comandos “at” y “cron”, se puede acceder a la utilidad gráfica de Webmin desde un navegador web, dirigiéndose a la dirección“ http://localhost:10000 (o https, dependiendo del tipo de instalación), y dirigiéndose a la entrada Webmin->Sistema->Comandos planificados (Scheduled Commands, Scheduled Cron Jobs).


                          Desde el entorno GNOME se encuentran las utilidades “Gcrontab” y “Gato”. Su instalación se realiza de forma análoga a la descrita, pero con los paquetes “gcrontab” y “gato”, respectivamente. A continuación podemos algunas capturas de pantalla de estas últimas herramientas:

imagen

imagen




Planificación de tareas en Windows 2003/2008 Server. 

Comandos

                    La siguiente tabla muestra alguna de las tareas más comunes para automatizar procesos y tareas, así como las herramientas de línea de comandos que se puede utilizar para realizarlas:

Tarea
Herramienta de línea de comandos
Llamar a un programa de proceso por lotes desde otro sin detener el programa que hace la llamada.
Seleccionar entre un conjunto de claves de opción de usuario como Yes, No y Continue en un programa por lotes.
Redirigir la información de salida del comando desde la línea de comandos al Portapapeles.
Llamar comandos, modificar líneas de comando y crear macros.
Finalizar la localización de los cambios de entorno en un archivo por lotes, restaurando las variables de entorno en los valores que tenían antes del comando setlocal correspondiente.
Crear un suceso personalizado en un registro de sucesos específico.
Enumerar los sucesos y sus propiedades desde uno o más registros de sucesos.
Mostrar y configurar desencadenadores de sucesos en equipos locales o remotos.
Salir de la secuencia de comandos por lotes actual o del programa Cmd.exe (el intérprete de comandos) y volver al programa que inició Cmd.exe o al Administrador de programas.
Ejecutar un comando especificado para cada archivo de un conjunto de archivos.
Seleccionar los archivos de una carpeta o un árbol para su proceso por lotes.
Establecer la variable de entorno del sistema %ERRORLEVEL% en el valor asociado al sistema operativo Windows especificado.
Dentro de un programa por lotes, dirigir el sistema operativo a una etiqueta; después, el sistema operativo procesa los comandos que empiezan en la línea siguiente.
Ejecutar un proceso condicional en programas por lotes.
Establecer la ruta de acceso de comandos en la variable de entorno PATH, que es el conjunto de directorios utilizados para buscar archivos ejecutables. Si utiliza el comando path sin parámetros, se presentará la ruta de acceso de búsqueda actual.
Suspender la ejecución de un programa por lotes y mostrar un mensaje que pida al usuario que presione cualquier tecla para continuar.
Cambiar el directorio actual al almacenado por el comando pushd.
Guardar el nombre del directorio actual para que lo use el comando popd antes de cambiar del directorio actual al especificado.
Incluir comentarios en un programa por lotes o en archivos de configuración.
Comunicar con el Controlador de servicios y los servicios instalados; recuperar o establecer información de control acerca de servicios.
Programar comandos y programas para que se ejecuten periódicamente o a una hora especificada; administrar el servicio Programador de tareas.
Mostrar, establecer o quitar variables de entorno.
Comenzar la búsqueda de variables de entorno en un archivo por lotes.
Establecer variables del entorno en el entorno local o del sistema, sin necesidad de programación o de secuencias de comandos.
Cambiar la posición de parámetros por lotes en un archivo por lotes.
Detener el procesador de comandos durante el número de segundos indicado. El tiempo de espera se utiliza generalmente en archivos por lotes.
Diagnosticar problemas producidos con el horario de Windows.
Sincronizar varios equipos de la red.
Localizar y mostrar todos los archivos que coincidan con el parámetro proporcionado; de manera predeterminada, la búsqueda se realiza en el directorio actual y en la variable de entorno PATH.

Herramientas Gráficas

                        Windows utiliza un software integrado para la automatización de tareas, se trata del "Programador de Tareas", el cual podremos encontrar en "Inicio > Panel de Control > Sistema y Mantenimiento > Herramientas Administrativas > Programador de tareas":




                    Si pulsamos en "Crear tarea nos pedirá introducir los siguientes datos:








                    Ahora seleccionaremos las acciones que queremos que se llevan a cabo en esta tarea, para ello pulsamos en la pestaña "Acciones":





       En la pestaña "Configuración" podemos seleccionar una serie de opciones que afectan el comportamiento de la tarea:






       Una vez configurada la tarea "Aceptamos" y la aplicamos. Ahora se realizará según las configuraciones que le hayamos asignado.


                      Hay que destacar también la herramienta gráfica "Windows PowerShell" ,que  es una interfaz de consola (CLI) con posibilidad de escritura y conjunción de comandos por medio de guiones (scripts en inglés). Es mucho más rica e interactiva que sus predecesores, desde DOS hasta Windows 7. Esta interfaz de consola está diseñada para su uso por parte de administradores de sistemas, con el propósito de automatizar tareas o realizarlas de forma más controlada.


1 comentario: