Rocío Alt. Abreu Ortiz 2009-3393 Shell Script en Debian Un shell script ó script del shell, es una serie de comandos escritos en un archivo de texto plano. Es parecido a los archivos batch en Windows, pero los Shell script tienen mucho más poder. Los script son casi siempre interpretados, pero no todo programa interpretado es considerado un script. El uso habitual de los scripts es realizar diversas tareas como combinar componentes, interactuar con el sistema operativo o con el usuario. Por este uso es frecuente que los shells sean a la vez intérpretes de este tipo de programas. El Shell es un programa – interface, que se provee como un elemento comunicacional entre el usuario y el sistema operativo. Tiene como función aceptar los comandos escritos y ejecutarlos. ¿Cómo funcionan? Los Shell script se ejecutan de manera automática, leyendo cada uno de las líneas de comando que contiene el archivo. Debido a que Linux interpreta comandos de forma lineal-secuencial, es importante que al momento de redactar el script se separen con un “ ; ” cada línea de comando. Por ejemplo: Si escribimos: echo HOLA1 echo HOLA2 echo HOLA3 Estaríamos cometiendo un fallo sintáctico y es que el intérprete de Linux está preparado para ejecutar orden tras orden de forma lineal y secuencial y aquí se rompe esa secuencia. ¿Cómo se identifican? Se identifican como tener como extensión .sh. También se pueden identificar por su encabezado en el contenido ó shebang: #!/bin/bash ; #!/bin/ksh Para python es #!/usr/bin/env python Shebang es, el nombre que recibe el par de caracteres #! que se encuentran al inicio de los programas ejecutables interpretados. En este tutorial, mostraré como crear diversos scripts funcionales para cualquier administrador de una red que esté basada en GNU/Linux Debian y sus derivados.
19
Embed
Shell Script en Debian - Hosting Miarroba · 2012-02-11 · Shell Script en Debian 4- Para crear el script, necesitas ayudarte de un editor de texto que pueden ser Emacs, Vi, gedit,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Rocío Alt. Abreu Ortiz 2009-3393
Shell Script en Debian Un shell script ó script del shell, es una serie de comandos escritos en un archivo de
texto plano. Es parecido a los archivos batch en Windows, pero los Shell script tienen
mucho más poder.
Los script son casi siempre interpretados, pero no todo programa interpretado es
considerado un script. El uso habitual de los scripts es realizar diversas tareas como
combinar componentes, interactuar con el sistema operativo o con el usuario. Por este
uso es frecuente que los shells sean a la vez intérpretes de este tipo de programas.
El Shell es un programa – interface, que se provee como un elemento comunicacional
entre el usuario y el sistema operativo. Tiene como función aceptar los comandos
escritos y ejecutarlos.
¿Cómo funcionan?
Los Shell script se ejecutan de manera automática, leyendo cada uno de las líneas de
comando que contiene el archivo. Debido a que Linux interpreta comandos de forma
lineal-secuencial, es importante que al momento de redactar el script se separen con un
“ ; ” cada línea de comando. Por ejemplo:
Si escribimos:
echo HOLA1 echo HOLA2 echo HOLA3
Estaríamos cometiendo un fallo sintáctico y es que el intérprete de Linux está preparado
para ejecutar orden tras orden de forma lineal y secuencial y aquí se rompe esa
secuencia.
¿Cómo se identifican?
Se identifican como tener como extensión .sh. También se pueden identificar por su
encabezado en el contenido ó shebang:
#!/bin/bash ; #!/bin/ksh
Para python es #!/usr/bin/env python
Shebang es, el nombre que recibe el par de caracteres #! que se encuentran al inicio de
los programas ejecutables interpretados.
En este tutorial, mostraré como crear diversos scripts funcionales para
cualquier administrador de una red que esté basada en GNU/Linux Debian
y sus derivados.
Shell Script en Debian
Antes de iniciar, aquí resalto algunos términos que debes de saber:
Lo caracteres #! indican al sistema que el primer argumento que sigue en la linea es el
programa a utilizar para ejecutar este fichero. En este caso usamos el shell /bin/sh.
Variables son como una fuente de almacenamiento en la que depositamos un
determinado dato. Además, sirven de enlace entre el usuario remoto y el programa, otra
de sus utilidades es poder utilizarlas en distintas partes de nuestro código-script.
Creación de variables: Para crear una variable se usa la sintaxis:
namevar=valordatos Donde namevar es el nombre (identificador) de la variable y
valordatos (contenido) es el valor o los datos que queremos almacenar
Comillas simples
El contenido no es interpretado por el shell. Se suele usar para indicar caracteres
literales. Por ejemplo „a‟ es tomada como un carácter literal no es procesada por el
Shell.
Comillas dobles: Agrupa una cadena de carácteres literal no es procesada por el
Shell. Por ejemplo: VAR=“Hola amigos”, aquí estaríamos almacenando en la variable
VAR el texto Hola amigos.
Comillas invertidas: Hacen que se evalue el contenido y que su resultado sea
devuelto como el de una variable. Por ejemplo: verfecha=`date`
Comodines
El signo * es un comodín que funciona como sustitución de cadena de literales.
Ejemplo *.doc indica todos los archivos que tengan extensión .doc
El signo # sirve como comodín que sustituye un carácter. Si añadimos mas
interrogantes sustituirá tantos caracteres como interrogantes haya.
El signo (~) este carácter devuelve la ruta del home del usuario.
El signo $ sirve para especificar que se muestre una variable.
Read
Sintaxis: read variable (s)
La orden read se usa para leer información escrita en el terminal de forma interactiva.
Expr
Este comando se utiliza para realizar operaciones aritméticas.
Echo
Este comando escribe a la salida estándar la cadena de texto que se le pasa como
parámetro. Recuerda que toda frase o cadena de caracteres deben estar entre comillas
Yo he especificado que se ejecute a las 11:00 a.m, los viernes de cada semana. De esta forma, para programar la tarea de backup todos los viernes a las 11:00, la línea a añadir en el archivo abierto por nano con las tareas de cron asociadas al usuario, deberá ser la siguiente:
0 0 * * 5 sh /home/rocio/mybackup.sh
El símbolo asterisco ( * ) significa que abarcará todos los días, horas, etc., según el campo que se especifique.
Al guardar los cambios hechos en el documento, te aparecerá como se muestra en la
imagen.
Script funcional para transferir datos entre PC
Para la creación de este script, utilizaremos NFS. Lo primero que debemos hacer es
crear la carpeta que compartiremos en la red y darles los permisos necesarios para que
se pueda transferir los datos.
1- Crearemos una carpeta llamada Transferencia, que estará ubicada en el escritorio.
En la terminal, escribe mkdir Compartir. Luego, debemos de darle los permisos de
escritura, lectura y ejecución que se representa con el 777 y es utilizado con el
comando chmod.
2- Una vez creada la carpeta que compartiremos, debemos especificar el rango de
direcciones IP que tendrán acceso a los archivos compartidos.
Shell Script en Debian
3- En el archivo /etc/exports estableceremos la ruta de la carpeta que compartiremos,
el rango de direcciones, y los permisos que como podrás ver son leer y escribir.
4- Cuando hayas realizado la modificación especificada en el paso anterior, haz click
en Guardar y luego procede a reiniciar el servicio NFS escribiendo /etc/init.d/nfs-
kernel-server restart y presiona Enter.
5- Ahora probaremos que existente comunicación entre el servidor y el computador
cliente haciendo ping desde una PC a otra.
Hacia el cliente.
Shell Script en Debian
6- Estando en el cliente, vamos a crear una carpeta para poder compartir los datos de
igual manera. Realizamos el mismo paso 1, pero cambiándole el nombre a la
carpeta.
7- Ahora montaremos el enlace dentro del cliente, con el comando showmount – e
[dirección del servidor] en mi caso shownmount –e 192.168.1.104
8- Con el enlace montado, crearemos el script para la transferencia. Escríbe gedit
transferencia.sh.
9- Dentro del editor, escribe los comandos que se muestran en la imagen. Mount- t es
para montar la carpeta como una unidad física.
Hacia el servidor.
Shell Script en Debian
Mount –t nfs [dirección IP del servidor]:[ruta de la carpeta en el servidor] [ruta de la
carpeta en el cliente]
10- uarda el archivo y cierra la ventana. Ahora procede a darle permiso de ejecución al
script. En la terminal escribe chmod 777 transferencia.sh.
11- Para ejecutar el script, escribe sh transferencia.sh