13
Creación de Shell Scripts POR: DANILO A. JIMÉNEZ

Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Creación de Shell Scripts

POR:

DANILO A. JIMÉNEZ

Page 2: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Creación de Shell Scripts

Un script es una secuencia de instrucciones que un programa es capaz de

seguir, interpretar, y ejecutar, pero el Shell Script no es solamente eso; también

son ficheros de texto ASCII que presentan una serie de órdenes y estructuras

organizadas secuencialmente. Los programas de Shell no necesitan ser

compilados como ocurre en otros lenguajes. En este caso, el propio Shell los

ejecuta línea a línea.

En este documento aprenderemos como hacer algunos Scripts de Shell que

nos ayuden a realizar algunas tareas.

Bien, antes que nada vamos a crear un directorio donde vamos a guardar

todos nuestros scripts, que en mi caso le he llamado “DirectorioScripts” y está

ubicado en /root/DirectorioScripts como se ve a continuación:

Page 3: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Utilizando el comando “ls” y “ls –l”, comprobamos que efectivamente

nuestro directorio fue creado, y se encuentra en dicha ubicación.

Script para crear una calculadora:

Para empezar debemos crear un archivo de texto en donde será creado el

script. Esto puede hacerse con el editor que deseemos, yo he utilizado VIM y le he

llamado scriptcalculadora.sh, donde sh hará la función de extensión para todos

nuestros archivos de script. Creamos el archivo de texto:

Ahora dentro del editor de textos introducimos los siguientes comandos:

#!/bin/bash: Será para especificar que es un script que ha de ser

ejecutado por el Shell BASH.

Echo “XXXXXXXXX”: Lo que escribamos luego del comando Echo

ha de estar entre comillas (“ ”) y será sencillamente un mensaje que vera el

usuario cuando inicie el script. De la misma forma usamos el comando para

indicarle al usuario que interactúe con el script como usarlo.

Read var1, var2, var3, etc.: Con eso le decimos al equipo que lea

una variable que introduciremos, que en este caso serán las cantidades y

operadores.

Sleep: este comando sirve para retrasar un poquito a la maquina

antes de ejecutar la siguiente línea.

Expr $var1 $op $var2: Indica que lo que se lee en la variable 1 se

afectado por alguna operación matemática en frente a la variable 2.

Page 4: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Guardamos el archivo, que en VIM es saliendo de la interfaz de edición

con esc y luego introduciendo “:w” para guardar y “:q” para salir. Ahora, le damos

permisos al archivo y lo probamos con el comando source:

Page 5: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Script para crear usuarios.

Para empezar creamos un archivo de texto y lo modificamos con un

editor como VIM. En mi caso he llamado al archivo: userscript.sh, véase:

Ya dentro del editor, introducimos los siguientes comandos:

#!/bin/bash: será para especificar que es un script que ha de ser

ejecutado por el Shell BASH.

Echo “Functional Script”: lo que escribamos luego del comando

comando Echo ha de estar entre comillas (“ ”) y será sencillamente un mensaje

que vera el usuario cuando inicie el script. De la misma forma usamos el comando

para que diga Escriba el nombre de usuarios.

Read var1: con eso le decimos al equipo que lea una variable que

introduciremos, que en este caso será el nombre del usuario que queremos crear.

Sudo adduser $var1: este es el comando que usara el script para

crear el usuario. La parte $var1 es para invocar la variable que creamos

anteriormente.

Page 6: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Tras escribir esos comandos guardamos el archivo y nos dirigimos al

directorio donde se encuentra (cd /home/DirectorioScripts). Allí le damos los

permisos necesarios al script para definir quienes pueden ejecutarlo, que en este

caso serán todos los usuarios (chmod 777 userscript.sh).

Con eso queda terminada la creación del script. Para probarlo usamos el

comando source userscript.sh El script se verá de la siguiente manera:

Page 7: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Script para crear grupos

Para empezar el procedimiento es muy similar al de los usuarios sin

embargo en el caso de los grupos el comando que usamos es groupadd para

crear uno nuevo. Así que en este caso seguiremos los mimos pasos que en el

script anterior pero en este la última línea del script será sudo group add $var1. En

este caso hemos nombrado al script groupscript.sh.

Y lo editamos…

Así como lo hicimos con el script pasado, también nos dirigiremos al

directorio en que este se encuentra (cd /home/Practica06) para darle los permisos

necesarios (chmod 777 gruposcript.sh). Lo probamos con el comando source

gruposcript y si está todo bien, veremos lo siguiente:

Page 8: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Script para hacer backups

Para este script primero crearemos 2 carpetas dentro de

/home/DirectorioScripts llamadas “backup” y “copiabackup” y le daremos los

permisos necesarios para que puedan acceder los usuarios que deseemos a

estas. Esto lo hacemos con los siguientes comandos:

Page 9: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Dentro de la carpeta backup guardaremos un archivo llamado

EjemploBackup, este será el archivo que copiaremos en la carpeta copiabackup

para probar que nuestro script funciona:

Como en los demás scripts nos dirigimos al directorio

/home/DirectorioScripts y allí abrimos un archivo de texto con el editor de textos de

nuestra preferencia. En este caso hemos llamado al script scriptbackup.sh

Al editarlo escribimos lo siguiente:

Page 10: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Read var1: ahí el usuario que abra el script introducirá una variable,

que en este caso será el directorio y/o el archivo que quiere copiar.

Read var2: ahí el usuario que abra el script introducirá una variable,

que en este caso será el directorio donde se quiere guardar la copia.

Sudo cp –f $var1 $var2: con este comando le ordenamos al script

que copie el directorio que especificamos como directorio de origen en el directorio

que especificamos como directorio de destino.

Tras guardar el script le damos los permisos de usos y abrimos con el

comando source scriptbackup.sh Al abrirlo especificamos el directorio y/o el

archivo que queremos copiar y el directorio de destino, cuando se nos pida.

Comprobamos que se ha hecho el backup de una carpeta a otra.

Page 11: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Automatizar scripts con Cron.

Cron se define como un administrador regular de procesos en segundo

plano (daemon) que ejecuta procesos (por ejemplo, cada minuto, día, semana o

mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se

especifican en el fichero crontab. Cron es como el programador de tareas en

Windows y nos ayuda bastante a ahorrar tiempo cuando tenemos mucho trabajo.

Antes que nada hay que saber que para que un script pueda ser ejecutado

automáticamente con cron tiene que ser uno que no necesite de la intervención de

un usuario para realizarse. A continuación realizaremos uno que realice un Backup

de forma automática una vez se le invoque.

Page 12: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

El script contendrá lo siguiente:

Ahí estamos especificando que cada vez que ejecutemos este script se

copiara el archivo Backup en el directorio /home/DirectorioScripts/copiabackup.

La forma más fácil para poder ejecutar un script periódicamente con un

usuario es usando el comando crontab –e. Pero primero le otorgamos los

permisos necesarios al script:

Luego de esto nos aparecerá un fichero donde tendremos que introducir

cada cuanto queremos que se ejecute el script y la ruta al script, en el siguiente

formato:

El símbolo asterisco (*) significa que se abarcará todos los días, horas,

etc, según el campo que se especifique en el fichero. Nota: como comando pondré

la ruta de un fichero de backup que ya había creado previamente.

Cron.daily, cron.hourly, cron.weekly, cron.monthly: Estas carpetas se

encuentran en /etc/, y si ubicamos cualquier script en ellas se ejecutara una vez al

día (daily), a la hora (hourly), a la semana (weekly) o al mes (monthly). Algo

sencillo y sin complicaciones para el usuario.

Page 13: Creación de Shell Scriptsslackwaresupport.weebly.com/uploads/2/0/1/0/20106031/script.pdf · Creación de Shell Scripts Un script es una secuencia de instrucciones que un programa

Por ejemplo, si queremos que se ejecute todos los días a las 4:40

escribimos lo siguiente: