Creación de Scripts. Qué es un script? Como funciona un shell script en Linux?



Documentos relacionados
Instituto Tecnológico de Las Américas (ITLA)

Creacion de Script. Que es un Script?

- A continuación, se nos abrirá la siguiente ventana pidiendo contraseña, que el cliente haya especificado al instalar Wingest 7

Como crear usuarios y grupos, añadirles permisos.

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

COPIAS DE SEGURIDAD CON COBIAN BACKUP INSTALACIÓN Y CONFIGURACIÓN

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Practica Extra: Creación de BACKUP+CRONTAB+NFS

GUIA DE LABORATORIO 1(Tercera Parte) Sistemas operativos

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Tutorial: Primeros Pasos con Subversion

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Curso Internet Básico - Aularagon

Unidad Didáctica 12. La publicación

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Internet Information Server

PRACTICA NO.4: HOW TO INSTALL NFS

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

ACTIVE DIRECTORY - PROPIEDADES DE USUARIO

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS

Reparar diagramas FUP o MMI con errores de código desde un Backup anterior.

Creación Servidor FTP

Oficina Online. Manual del administrador

MANUAL BASICO DE WEBEX

HOW TO SOBRE LA CREACION DE UNA DISTRIBUCION PERSONALIZADA DE LINUX

PRACTICA DE REDES Redes Ad Hoc

FTP. File Transfer Protocol. Protocolo De Transferencia De Archivo. Administración de Redes de Computadores. Ficha:

Configuración de PDAs en ITACTIL.

Manual para usuarios USO DE ONEDRIVE. Universidad Central del Este

CONFIGURACION AVANZADA DE MOZILLA THUNDERBIRD

Servidor FTP en Ubuntu Juan Antonio Fañas

Sistema NFS para compartir archivos.

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS

MANUAL DE CREACIÓN DE CARPETAS PARA ACCESO POR FTP DE CLIENTES EN UN NAS

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Person IP CRM Manual MOBILE

Servidor FTP. JEAN CARLOS FAMILIA Página 1

Accede a su DISCO Virtual del mismo modo como lo Hace a su disco duro, a través de:

Copias de Seguridad con SQL Server Realizar una copia de seguridad de Bases de Datos

UNIDAD DIDACTICA 6 PERFILES LOCALES Y MÓVILES DE USUARIO

Manual de instalación Actualizador masivo de Stocks y Precios

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Instalación del Admin CFDI

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

DESCARGA DE CARPETAS DE MENSAJES DE CORREO DESDE EL WEBMAIL A PC S LOCALES

MANUAL DE AYUDA MODULO TALLAS Y COLORES

5.2.- Configuración de un Servidor DHCP en Windows 2003 Server

CONFIGURACION AVANZADA DE OUTLOOK EXPRESS 6

Configuración de Samba para compartir Archivos

Creación y administración de grupos de dominio

Scripts de arranque. Pablo Sanz Mercado.

Una plantilla es un documento de Word 2003 con la característica de que el tipo de documento es plantilla de documento (.dot).

Curso de PHP con MySQL Gratis

PLANTILLAS EN MICROSOFT WORD

HOW TO SOBRE FIREWALL

30 de Mayo de

Manual de configuración de Thunderbird ÍNDICE

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Notas para la instalación de un lector de tarjetas inteligentes.

Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.

USO BASICO DE MOZILLA THUNDERBIRD

La página web del centro con SPIP

Correo Electrónico: Webmail: Horde 3.1.1

Manual básico de Outlook Express

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

TEMA 20 EXP. WINDOWS PROC. DE TEXTOS (1ª PARTE)

Cómo acceder a Google Drive? Tiene más funcionalidades una cuenta de Google?

ESCUELA DE ADMINISTRACIÓN

Apéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario

INTEGRACIÓN DE SISTEMAS OPERATIVOS EN RED Y PROPIETARIOS. Víctor Martín Martín

Introducción a Linux. El regreso a los años 70: la consola (III)

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Iptables, herramienta para controlar el tráfico de un servidor

CREAR UN REPOSITORIO DE ALMACENAMIENTO NFS PARA XEN SERVER O VMWARE SOBRE WINDOWS SERVER 2003 R2

Realización de Backups

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

Acceder y administrar documentos en el servidor FTP por líneas de comandos

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

Inducción al Laboratorio de Informática

Kiara Celeste Contreras Feliz. Matricula: Sistema Operativo III. 5- Creación de usuarios y grupos

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

SUBIENDO NUESTRA WEB CON MACROMEDIA DREAMWEAVER

TIPOS DE COPIAS DE SEGURIDAD EN LINUX

Acá vamos a ocuparnos de cómo realizar la instalación de una red intra-aula sobre Linux, concretamente en la distribución de GNU/Linux Ubuntu 9.04.

Servidor web E-Sniper

GUIA DE USUARIO. CONFIGURACION CORREO ELECTRONICO

Guía de uso del Cloud Datacenter de acens

Instalación de un servidor con HldsUpdateTool

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Transcripción:

Creación de Scripts Qué es un script? Un guión o script es un fichero de texto que contiene una serie de instrucciones que se pueden ejecutar en la línea de órdenes, y que se ejecutarán seguidas. En ese sentido son iguales que los ficheros con extensión BAT de MS-DOS, aunque, por supuesto, como en los sistemas UNIX no existe el concepto de extensión, pueden tener cualquier nombre. El único requisito es que ese fichero de texto tenga permiso de ejecución para la persona que intenta ejecutarlo. Alternativamente, puedes llamar al intérprete y darle como parámetro el nombre del guión, pero es más cómodo dar permiso de ejecución al guión para ahorrarnos escribir el nombre del intérprete. Shell es un programa de usuario, o su entorno provisto para la interacción del usuario. Shell es un intérprete de lenguaje de comando que ejecuta comandos de lectura de entrada por medio del dispositivo estándar (teclado) o desde un archivo. Shell no es parte del núcleo del sistema, pero utiliza el núcleo del sistema para ejecutar programas, crear archivos, etc. Varios shell disponibles con Linux, son: BASH (Bourne-Again Shell), CSH (C Shell), KSH (Korn Shell) y TCSH. Los scripts pueden tener las siguientes características: Encabezado que debe de tenerlo #! /bin/bash Es bueno ponerle un comentario para saber para qué sirve el script estos se agregan con # y el comentario. Las variables que son una de las piezas más importante porque le dan la oportunidad al usuario de agregar variables que él quiere que procesé puede ser echo n, expr este es para operaciones con número. Entre otras. Como funciona un shell script en Linux? La Shell lee la entrada estándar de la terminal, y manda la salida estándar y los errores estándar a la terminal al menos que se le haya dicho que lo mande a otro lugar. La shell es de línea orientada, no procesa los comandos hasta que pulse <Enter> para indicar el final de una línea. Usted puede corregir lo que ha escrito mientras digita. Diferentes shell proporcionan diferentes instalaciones para la edición de sus comandos, pero por lo general reconocen <BKSP> o <Supr> como la pulsación de tecla para borrar los caracteres anteriores. Cuando se presiona < Enter >, el shell interpreta la línea que ha introducido, antes de ejecutar los comandos en esa línea. Los pasos que se ejecuta a través son los siguientes:

1. La shell se divide la línea en fichas. Una ficha es un comando, variable, u otro símbolo reconocido por la shell. Se continúa la construcción de una secuencia de ficha, hasta que llega a una palabra reservada (un comando de shell interno que regula el flujo de control de un script de shell), nombre de la función, o el operador (un símbolo que denota una pipa, una condición lógica, un separador de comandos, o alguna otra operación que no puede llevarse a cabo hasta que se evaluó el comando anterior). 2. La Shell organiza las fichas en tres categorías: I / O redirección; comandos que determinan la entrada o salida de un programa y a donde se dirigen. Por ejemplo, en la siguiente línea de comandos, el texto ``> listfile''se interpreta como una redirección de la salida, que luego se aplica el comando ant erior: > Ls-al listfile Asignación de variables, la shell puede reconocer los comandos que asignan un valor a una variable. Varios comandos, otras fichas son revisados para ver si son alias. La primera palabra está revisada. Si se trata de un alias, se sustituye por el significado original del alias, si no es un alias, o si es seguido por un espacio en blanco antes de la siguiente palabra, el proceso de comprobación de alias se repite hasta que ya no quedan más palabras (o hasta que un alias se ha detectado que no es seguido por un espacio). 3. Pude ser que lo comando hayan sido ejecutados, ya sea como comandos de la shell interno (que hacen que el propio shell tome alguna acción) o, si no son comandos internos, como los programas externos (si la shell puede localizar un archivo ejecutable de ese nombre). Cómo los identifica el sistema? Los archivos script suelen ser identificados por el sistema a través de uno de los siguientes encabezamientos en el contenido del archivo, conocido como shebang: #!/bin/bash ; #!/bin/ksh ; #!/bin/csh Aunque en entornos UNIX la mayoría de los scripts son identificados por dicho encabezamiento, también pueden ser identificados a través de la extensión ".sh", siendo ésta quizá menos importante que el encabezamiento, ya que casi todos los sistemas no necesitan dicha extensión para ejecutar el script, por lo tanto, esta suele ser añadida por tradición, o más bien, es útil para que el usuario pueda identificar estos archivos a través de una interfaz de línea de comandos sin necesidad de abrirlo. Difieren de los programas de aplicación, debido a que los últimos son más complejos; además, los scripts son más bien un programa que le da instrucciones a otros más avanzados.

Cómo ejecutar un script? Una vez guardado el archivo con el nombre deseado, tenemos dos formas de ejecutarlos: Ejecutar el comando source fichero. En este forma de ejecutarlo no tenemos que darle permiso de ejecutar. El cual carga el fichero en la memoria del Bash y lo ejecuta. La segunda forma, a diferencia del anterior no implica darle permiso de ejecución al fichero, esto podemos hacerlo con el comando chmod+x +nombre de fichero. Poniéndole este permiso, podremos ejecutarlo siempre y cuando este en algunos de los directorios indicados en la variables de entorno PATH. Luego escribimos sh y el nombre del fichero. Donde sh es la orden encargada de ejecutar el script. Aparte de que estas dos formas de ejecutarlos se diferencias por los comandos y la complejidad que se utiliza en cada unas de ellas, estas se diferencias debido a que cuando ejecutamos el comando source, este se ejecuta dentro del proceso del Shell, mientras que si lo ejecutamos como un fichero ejecutable se ejecuta en un subshell. Esto implica que solo las variables de entorno exportadas son conocidas por el nuevo subshell. Lo primero que vamos hacer es crear nuestra carpeta en donde vamos a guardar nuestros script esto lo hacemos con el comando mkdir el nombre de la carpeta luego entramos que darle los permisos por la carpeta no aparecerá así.

Crear un script para crear una calculadora Después de haber observado lo básico de un Shell script podemos proceder a comenzar a verlos en función; en este caso se va a crear un script para que calcule suma, resta, multiplicación y división. Existen 2 formas de hacer los scripts, una es mediante cualquier editor del Shell ósea nano, cat, vi, etc, como quien dice automáticamente desde la terminal; y la otra forma es haciéndolo en un editor de palabras como KWrite, gedit Text Editor, etc. Nosotros comenzaremos haciéndolo por el primer método. Lo primero en hacer es abrir la terminal de comando. Con la consola abierta lo primero que haremos es entrar a modo de super administrador digitando el comando su y luego la contraseña, luego de estar adentro introduciremos el comando which bash, para ver cuál es la bash que estamos utilizando (como se dijo anteriormente existen varios tipos de bash entre los más conocidos están: #!/bin/bash ;#!/bin/ksh ; #!/bin/csh), como vemos en nuestro caso estamos utilizando el bash bin/bash esto indica que cada vez que se vaya a realizar un script debemos comenzar con el comando #!/bin/bash, (este encabezamiento es conocido como shebang) de tener otro bash se escogería, y se comenzara con él. Sabiendo cual es nuestro bash podemos entrar a nuestro editor nuestro script, pero antes de esto vamos a crear un directorio llamado Scripts donde almacenaremos todos estos scripts, este directorio será en root, home, esto lo haremos con el

comando cd /home/root /, mkdir Scripts, utilizamos el comando ls l para ver si ya está creado y como nos damos cuenta ya lo está. Ahora entramos al directorio de Scripts y es aquí donde crearemos dichos scripts. Recordar si queremos que el directorio pase a manos del usuario root solo tenemos que digitar el comando (claro esto es después de salir del directorio Scripts ósea, en el directorio de root) chown root Scripts y si queremos que el directorio pase a manos del grupo de root, solo digitamos el comando chgrp root Scripts y listo ya está en manos del usuario root. Variables autodefinidas por shell-script $, indica la posición del argumento cuando el script es llamado. $# - Esta variable contiene el numero de argumentos que hemos pasado al script. $0 - Esta variable contiene el nombre de el shell-script que se ejecuta. $* - Esta variable muestra una cadena con los parámetros que hemos pasado al script. $? - Esta variable contiene la salida del comando anterior donde se encuentre dentro de el script. Ya dentro del directorio Scripts procedemos a crear el fichero o script, como dijimos antes esto se pude lograr con cualquier editor de fichero disponible, en este caso estaremos utilizando el nano, entonces procedemos a crear el script y usamos el comando nano calculadora.sh para introducirnos el script y comenzar a digitar. El nombre de calculadora es por el fichero que será, es decir es como se quisiera salvar un archivo para ser utilizado.

Al ejecutar nuestra nueva calculadora con la mitad de líneas gracias a case, tenemos que case nos permite dar múltiples valores a una variable y actuar de la forma que sea, según el valor que introduzcamos. Crear un script para crear usuarios Bueno para la creación del script de un usuario vamos a utilizar el editor de texto que utilizamos anteriormente, que es el nano. Para comenzar entraremos como root y nos dirigiremos hacia la carpeta que creamos llamada scripts. Luego accedemos al editor de texto escribiendo lo siguiente: Nano {nombre}

Ahora en el editor de texto lo primero que debemos poner es #! seguido del Shell que vamos a utilizar en este caso /etc/bash/ y luego en las líneas de abajo ponemos echo seguido de un mensaje para que en secuencia que se va ejecutando el script nos muestre los mensajes, luego en otra línea de abajo ponemos solo los comandos que queremos ejecutar, en este caso como es para crear usuarios debemos poner useradd y el nombre del usuario que queremos crear también podemos poner passwd y el nombre del usuario para cuando se cree el usuario automáticamente se nos pida la contraseña que le vamos a asignar a el usuario, esto lo podemos ver detenidamente en la siguiente imagen que nos muestra el editor de texto con todo esto. Echo: En Unix (y otros sistemas derivados), el comando echo permite utilizar variables y otros elementos del intérprete de comandos. En las implementaciones más comunes y usadas como Bash, echo se trata de una función built-in, es decir, una función interna del intérprete de comandos y no un programa externo, así como cat o grep. Ahora vamos a proceder a guardar el script para esto damos Ctrl + x. Ahora con sh procederemos a ejecutar nuestro script

Crear un script para crear grupos

Para hacer un script que cree grupos lo hacemos de forma similar que con los usuarios, la diferencia radica que aquí en el editor de texto cuando estamos haciendo el script ponemos groupadd, hacemos el script con el editor de nuestra preferencia, en mi caso usare el nano Salimos y guardamos el archivo y por último le damos permisos de ejecución: chmod u+x calculadora Ahora con sh procederemos a ejecutar nuestro script

Crear un script para crear backup de datos Para hacer un script de backup lo hacemos siguiendo algunos de los pasos que con los anteriores, a diferencia que aquí entran variables más complejas y que debemos conocer, como es de que parte se creara el backup, donde se guardara, entre otras cosas, estas variables se dan en detalle más adelante. Backup_file: es una variable que crea y le asigne una ruta o valor. (En este haremos un backup del directorio /home/). Dest: esta variable es la ruta donde se guardara el backup. (En este lo guardaremos en la ruta /home/compartir). Day: es una variable en la que se asigna el día que quiero que se haga el backup, (los caracteres que introduciremos indican que el script se ejecutara a la hora que ejecutemos el script, estos caracteres son date +A% ). Archive_file: esta variable es para asignarle un nombre al backup seguido del.tgz que es la extensión que tendrá el archivo comprimido. Tar czf: comprimirá todos los valores que representan dichas variables. Vamos a crear el backup con un editor de texto, guiándonos de las variables que se explican anteriormente.

Crear un script para transferir datos entre pc Ya hemos visto como transferir datos usando el NFS pero ahora lo vamos a ver de una forma más interesante usando script y otros elementos que nos pueden ser funcionales para una eficaz transferencia de archivo, debemos ir al archivo /etc/exports y asegurarnos que este especificada la ruta del recurso que se va a compartir, en este caso será una carpeta que está en el directorio /home por lo tanto debe quedar como se muestra a continuación. Ahora si no lo tenemos creado, procedemos a crear el directorio llamado Folder 1 que es ahí donde se estarán compartiendo los archivos que queremos compartir, como hemos visto creamos un directorio con el comando mkdir mas el nombre Y esto lo hacemos en el directorio Desktop como habíamos especificado en el /etc/exports. Nota: Veremos que no podemos crear un directorio porque ya se encuentra hecho mas hacia abajo. Ahora en la pc cliente debemos asegurarnos de que las maquinas estén en conectividad para probar esto usamos el ping más la dirección ip de la otra pc.

Luego de esto crearemos una carpeta en el directorio media que será nuestro punto de montaje. Ahora para hacer un script que nos permita montar el directorio en la ruta deseada y que nos permita hacer transferencia de archivos lo que hacemos creando un archivo con el editor de nuestra preferencia y poniéndolo de la siguiente forma. Recordemos que podemos usar cualquier editor de texto, en mi caso he usado nano y ya le he puesto un nombre para cuando lo guarde. Mount - Es el comando para montar un directorio. 192.168.1.2 Es la dirección de nuestro servidor. /home/grande/desktop/folder1 Ruta de nuestro server /media/comparte Punto de montaje

Ahora al ejecutar el script transfer con sh delante vemos que se acepta como si hubiésemos ingresado un simple comando, para comprobar que funciono vamos al punto de montaje que en este caso es /media/cliente y vemos que se ha montado la carpeta compartir con todos los datos que tenía. Utilizar cron para programar la ejecución automática de un script Iniciamos una sesion en la terminal como root y escribimos lo siguiente para abrir un editor VI: Crontab u root -e \ En la ventana de VI, pulsamos i o Insert para insertar texto. En este archivo se ubican las tareas guardadas en cron. Cada una de estas tareas requiere cinco entradas indicando: la fecha, hora, el nombre y ruta del programa para ejecutar, usando Tab o la barra espaciadora entre cada entrada. Por ejemplo: Minuto (0-59) hora (0-23) dia_del_mes(1-31) mes(1-12) Dia_de_la_semana (0-7) /ruta/script.sh Se puede utilizar el asterisco * como carácter comodir, asi : 0 10 * * * /ruta/script.sh equivales a 0 10 1-31 1-12 0-7 /ruta/script.sh. En este caso, el script se ejecutara a la diez de la mañana todos los dias. Al final, guardamos como en todo archivo abierto con VI, usando :w en el modo de comandos