0% encontró este documento útil (0 votos)
240 vistas

Shell Script Linux-1

Este documento describe los scripts de shell de Linux. Explica que los scripts de shell son programas diseñados para ser ejecutados por el intérprete de línea de comandos y permiten automatizar tareas como manipulación de archivos y ejecución de programas. Luego detalla cómo se programa en shell utilizando variables, estructuras condicionales como if/else y bucles como for, y menciona ejemplos de tareas como respaldos automatizados de bases de datos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
240 vistas

Shell Script Linux-1

Este documento describe los scripts de shell de Linux. Explica que los scripts de shell son programas diseñados para ser ejecutados por el intérprete de línea de comandos y permiten automatizar tareas como manipulación de archivos y ejecución de programas. Luego detalla cómo se programa en shell utilizando variables, estructuras condicionales como if/else y bucles como for, y menciona ejemplos de tareas como respaldos automatizados de bases de datos.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

UNIVERSIDAD NACIONAL DE CHIMBORAZO

FACULTAD DE INGENIERÍA

CARRERA DE SISTEMAS Y COMPUTACIÓN

Tema:
Shell Script Linux

Autor:
Oliver Amendaño Pérez

Tutor:
ING. Gonzalo Allauca

Riobamba-Ecuador
2019 - 2020
Índice de Contenido
Qué son. ..................................................................................................................................... 3
Qué permiten hacer. .................................................................................................................. 4
Como se Programa. .................................................................................................................... 5
3.1. Variables y Arrays. .............................................................................................................. 6
3.2. Estructuras Condicionales. ................................................................................................. 6
3.3. Los bucles. .......................................................................................................................... 6
3.4. Funciones select, case, argumentos y otras cuestiones. ................................................... 7
Respaldos de una base de datos con tareas programadas. ....................................................... 7
4.1. Instalación de PostgreSQL. ................................................................................................. 7
4.2. Crear o Restaurar una Base de Datos................................................................................. 9
4.3................................................................................................................................................. 10
Bibliografía. .............................................................................................................................. 11
Qué son.

Un script de Shell es un programa de computadora diseñado para ser ejecutado por el Shell
de Unix, un intérprete de línea de comandos. Los diversos dialectos de los scripts de Shell
se consideran lenguajes de scripting. Las operaciones típicas realizadas por los scripts de
Shell incluyen manipulación de archivos, ejecución de programas e impresión de texto. Una
secuencia de comandos que configura el entorno ejecuta el programa y realiza las tareas de
limpieza, registro, etc., se denomina contenedor.

El término también se usa de manera más general para referirse al modo automatizado de
ejecutar un Shell del sistema operativo; en sistemas operativos específicos se les llama otras
cosas como archivos por lotes (flujo MSDos-Win95, OS / 2), procedimientos de comando
(VMS) y scripts de Shell (flujo de Windows NT y derivados de terceros como 4NT: el
artículo está en cmd. exe), y los sistemas operativos mainframe están asociados con varios
términos.

La instalación típica compatible con Unix / Linux / POSIX incluye KornShell ( ksh) en varias
versiones posibles, como ksh88, Korn Shell '93 y otras. El Shell más antiguo todavía en uso
común es el Shell Bourne ( sh); Los sistemas Unix también incluyen invariablemente C Shell
(csh), Bash ( bash), Remote Shell ( rsh), Secure Shell ( ssh) para conexiones telnet SSL y un
Shell que es un componente principal de la instalación Tcl / Tk que se suele llamar ;
deseotclshes un Shell Tcl / Tk basado en GUI. Los shells C y Tcl tienen una sintaxis bastante
similar a la de dichos lenguajes de programación, y los shells Korn y Bash son desarrollos
del Shell Bourne, que se basa en el lenguaje ALGOL con elementos de varios otros
agregados también.

Otros shells disponibles en una máquina o disponibles para descargar y / o comprar incluyen
Almquist Shell ( ash), PowerShell ( msh), Z Shell ( zsh, un KornShell mejorado
particularmente común), Tenex C Shell ( tcsh), un Shell similar a Perl ( psh). Programas
relacionados, como shells basados en Python , Ruby , C , Java , Perl , Pascal , Rexx & c en
varias formas, también están ampliamente disponibles. Otro caparazón algo común es osh,
cuya página de manual lo indica "es un puerto mejorado y compatible con versiones
anteriores del intérprete de comandos estándar de la Sexta Edición UNIX".

El software de interoperabilidad Windows-Unix como MKS Toolkit, Cygwin, UWIN,


Interix y otros hacen que los shells anteriores y la programación Unix estén disponibles en
sistemas Windows, proporcionando funcionalidad hasta señales y otras comunicaciones
entre procesos, llamadas al sistema y API. El Shell Hamilton C es un Shell de Windows que
es muy similar al Unix C Shell. Microsoft distribuye Servicios de Windows para UNIX para
su uso con sus sistemas operativos basados en NT en particular, que tienen un subsistema
ambiental POSIX.

Qué permiten hacer.

Muchos S.O., GNU/Linux todavía se administran más eficientemente editando sus ficheros
configuración, vía Terminal. Como norma general, estos se encuentran en la ruta de destino:
“/etc”, y dentro de directorios específicos para cada aplicación. Por ejemplo, el programa
Lilo (que significa Linux Loader) se configura editando el archivo de texto ubicado y
llamado como “/etc/lilo/lilo.conf”. En el caso de los programas (aplicaciones), estos se
lanzan (ejecutan / activan) escribiendo el nombre del ejecutable, si el mismo se encuentran
en el path (ruta por defecto) para todos los ejecutables, como normalmente es “/usr/bin” , o
escribiendo el nombre del ejecutable precedido por: ./, desde el directorio donde estén
ubicados.

Todo esto, es bien conocido por cualquier usuario de Shell. Sin embargo, no tan conocidas
y apreciadas son sus capacidades como entorno de programación. Los Script (programas)
realizados en el Shell no necesitan compilarse. La Shell los interpreta linea a linea. Por lo
tanto, a estos se les conocen o nombran como Shells Scripts, y pueden llegar ha ser desde
sencillas ordenes hasta complejas series de instrucciones para el arranque del propio S.O. En
general, tienen una sintaxis (construcción, ordenación) bastante limpia (obvia),
convirtiéndolos en un buen punto de inicio para iniciarse en el mundo de la programación.

Una de las principales funciones es:

 Administrar el S.O.
 Ejecutar aplicaciones e interactuar con ellas, y
 Servir de entorno básico de programación.
 Realizar procesos de Etl
Ventajas. Desventajas.
 comandos y la sintaxis son  la velocidad de ejecución lenta y la
exactamente los mismos que los que necesidad de lanzar un nuevo
se ingresan directamente en la línea proceso para casi todos los
de comandos. comandos de Shell ejecutados
 Se puede usar un script de Shell para  También hay problemas de
proporcionar un enlace de compatibilidad entre diferentes
secuenciación y toma de decisiones plataformas. Larry Wall , creador
en torno a los programas existentes, de Perl , escribió que "es más fácil
y para los scripts de tamaño portar un Shell que un script de
moderado, la ausencia de un paso de Shell".
compilación es una ventaja.  los scripts más complejos pueden
 La ejecución interpretativa hace que encontrarse con las limitaciones del
sea fácil escribir código de lenguaje de scripts de Shell en sí;
depuración en un script y volver a los límites dificultan la escritura de
ejecutarlo para detectar y corregir código de calidad, y las extensiones
errores. de varios shells para mejorar los
 Los usuarios no expertos pueden problemas con el lenguaje de Shell
usar secuencias de comandos para original.
adaptar el comportamiento de los  Muchas de las desventajas de usar
programas, y las secuencias de algunos lenguajes de script son
comandos de Shell proporcionan un causadas por fallas de diseño
alcance limitado para el dentro de la sintaxis o
multiprocesamiento. implementación del lenguaje.

Como se Programa.

El turno ahora es para los intérpretes de comandos de Linux y su programación, conocida


como programación Shell. Aunque el intérprete de comandos es independiente del
lenguaje de programación utilizado, Linux permite crear programas utilizando
características propias de cada un de los Shell existentes. No como en windows que tan
solo tiene el interprete de DOS (o cmd o command). Como habrás podido deducir la
programación en Shell es “interpretada”, no compilada, lo que reduce el desempeño del
sistema; pero la ventaja es la facilidad de creación y mantención.

3.1. Variables y Arrays.

Se pueden usar variables, pero no existen tipos de datos. Una variable de bash puede
contener un número, un carácter o una cadena de caracteres; no se necesita declarar una
variable, ya que se creará con solo asignarle un valor. También se puede declarar con
declare y después asignarle un valor:

3.2. Estructuras Condicionales.

Las estructuras condicionales le permiten decidir si se realiza una acción o no, esta
decisión se toma evaluando una expresión. La estructura condicional más básica es: if
expresión; then sentencia; fi donde

'sentencia' solo se ejecuta si 'expresión' se evalúa como verdadera. '2<1' es una

expresión que se evalúa falsa, mientras que '2>1' se evalúa verdadera.

3.3. Los bucles.

El bucle for tiene dos formas, una de las cuales es diferente a las de otros lenguajes de
programación, ya que permite iterar sobre una serie de 'palabras' contenidas dentro de
una cadena. La otra forma del for sigue los patrones de los lenguajes de programación
habituales. El bucle while ejecuta una sección de código si la expresión de control es
verdadera, y solo se detiene cuando es falsa (o se encuentra una interrupción explícita
dentro del código en ejecución, por ejemplo a través de break). El bucle until es casi
idéntico al bucle while, excepto en que el código se ejecuta mientras la expresión de
control se evalúe como falsa. Veamos unos ejemplos y observemos la sintaxis:

3.4. Funciones select, case, argumentos y otras cuestiones.

Las funciones son la forma más fácil de agrupar secciones de código que se podrán
volver a utilizar. La sintaxis es function nombre { mi_código }, y para llamarlas solo es
necesario que estén dentro de mismo archivo y escribir su nombre.

Respaldos de una base de datos con tareas programadas.

4.1. Instalación de PostgreSQL.


 Nos hacemos super usuarios desde el terminal.

 Desde consola nos dirigimos a la siguiente dirección.

 Creamos una carpeta con el nombre postgresql (el nombre es de acuerdo a su


criterio).
 Una vez creada la carpeta le damos permisos para un mejor uso.

 Una vez creada la carpeta de forma visual nos dirigimos a la carpeta creada
previamente y pegamos el archivo de instalación de PostgreSQL.

 Una vez pegado el archivo nos dirigimos al terminal y procedemos a darle permisos
al archivo de instalación.

 Procedemos a la instalación ejecutando el siguiente comando, una vez ejecutado


el comando los pasos de instalación son los mismos que cuando se instala en
Windows.
4.2. Crear o Restaurar una Base de Datos.

 En nuestro caso vamos a restaurar una base de datos hecha, para ello como primer
paso procedemos a crear una base de datos.

 Una vez creada la base de datos nos dirigimos a la base de datos recientemente
creada y hacemos clic derecho y nos dirigimos donde dice restaurar.

 Seleccionamos la backup de la base de datos a restaurar y con eso estaría


terminado el proceso de restauración de una base de datos.
4.3. Respaldos de una base de Datos.

 Nos dirigimos a la carpeta opt para posteriormente crear la carpeta


Administración_Redes y para terminar le damos permisos a la carpeta recién
creada.

 Creada la carpeta Administración_Redes accedemos a dicho lugar, creamos dos


carpetas con los nombres de Respaldos y Tareas_P, le damos los permisos
necesarios.

 Accedemos a la carpeta Tareas_P y procedemos a crear el archivo backup.sh, le


damos los permisos necesarios.

 Accedemos al archivo backup.sh para poder programar la tarea que se va a


ejecutar.

 Una vez configurado la ubicación donde se va ha guardar los respaldos procedemos


a irnos al inicio para posteriormente ejecutar el siguiente comando, luego
seleccionamos la opción 2.

 Una vez ingresado nos dirigimos a la parte final y escribimos 5 asteriscos que eso
significa que se va ha crear respaldos cada minuto y luego procedemos a escribir la
dirección donde se encuentra el archivo .sh
 Una vez configurado procedemos a reiniciar el crontab.

 Procedemos a ejecutar la tarea programada, para ello nos dirigimos a la carpeta


donde creamos el archivo backup.sh.

 Verificamos en la carpeta que seleccionamos para que se guarden los registros y


comprobamos que si se generan los .backup

Bibliografía.

 https://en.wikipedia.org/wiki/Shell_script
 https://en.wikipedia.org/wiki/Unix_shell
 https://www.edicioneseni.com/open/mediabook.aspx?idR=149a3e6c6953cb6995a4
95a61b3b08a5
 https://es.slideshare.net/secretweapon_vk/linux-programacion-en-shell
 http://openaccess.uoc.edu/webapps/o2/bitstream/10609/61287/3/Administraci%C3
%B3n%20de%20sistemas%20GNU_Linux_M%C3%B3dulo3_Programaci%C3%
B3n%20de%20comandos%20combinados%20%28shell%20scripts%29.pdf#page=
11&zoom=100,0,254

También podría gustarte