Professional Documents
Culture Documents
Creacin de Script
Shell que significa en Castellano concha es el intrprete de comandos del sistema. Es una interfaz de texto de altas prestaciones, que sirve fundamentalmente para tres cosas: administrar el sistema operativo, lanzar aplicaciones (e interactuar con ellas) y como entorno de programacin. Gnu/Linux se administra editando ficheros configuracin. La Shell los interpreta linea a linea. Se les suele conocer como Shells Scripts y pueden ser desde sencillas rdenes hasta complejas series de instrucciones para el arranque del propio sistema operativo. En general, tienen una sintaxis bastante clara y suponen un buen punto de partida para dar los primeros pasos en el mundo de la programacin. Un Script es un archivo de texto, que contiene una serie de comandos para shell, que el sistema ejecuta ordenadamente, de arriba abajo. Para editarlos, tan solo hace falta un editor de textos, como Emacs, o Vi. Se guardan con extensin: .sh y se ejecutan desde la Shell mediante el comando: sh nombre de script.sh. Los scripts, se comportan de igual manera que los comandos de la shell.
Para crear el script escribimos: #!/bin/bash: este es el bash que estamos utilizando. Script Funcional: es la etiqueta de nuestro script. Escribe el nombre de usuario: que es un mandarto. Var 1: es una variable. Echo: nos dara print de mensaje que pongamos en tre comillas. Read: que leera los datos que introdusca el usuario y los guardara en las variables. Con el comando which bash nos damos cuenta del bash que utiliza nuestro kernel.
Con el editor nano, vamos a modificar el archivo userscript.sh. A continuacion se presentan las lineas que contiene el script:
Luego que guardamos los cambios, procedemos a dar los permisos necesarios para la ejecucin del script.
Utilizamos el comando source para ejecutar el script, escribiendo source seguido del nombre del archivo que contiene el script.
Como podemos ver hemos creado el usuario, y hemos asignado una contrasea para poder iniciar seccin con este user. Para comprobar que nuestro usuario ha sido creado nos dirigimos al siguiente archivo: /etc/passwd.
Utilizaremos el comando gruopadd para crear los grupos, y usermode para agregar usuarios al grupo creado.
Luego utilizamos el comando source para ejecutar el script y ver su funcionalidad. Nos dirigiremos al archivo /etc/group, para verificar que el grupo ha sido creado.
Vamos a crear un archivo txt en el directorio backup, y este archivo ser el que actuara como dato para hacer el backup.
Procedemos a la creacin del script. El script es semejante a los anteriores, solo varan los comandos que se utilizaran.
El script nos pedir el directorio donde se encuentran los datos a copiar, y tambin nos pedir el directorio destino donde sern copiados. Los datos que vamos a copiar en esta prctica pertenecen al siguiente path: /root/Desktop/backup/datos. Y el path donde se copiaran esos datos es: /root/Desktop/copiabackup/.
Ahora nos dirigimos al directorio que elegimos para hacer el backup, y vemos los datos copiados y guardados en este directorio.
Utilizaremos los siguientes parmetros al momento de crear el script: SOURCEDIR: para establecer el origen de nuestro directorio a transferir DESTDIR: para establecer el destino de nuestro directorio de nuestra otra pc. rsync: para sincronizar las carpetas. --progress: para ensear el progreso de la transferencia -avze: opciones del comando rsync.
Vamos a escribir el directorio donde estn los archivos que vamos a transferir el cual es: /root/Desktop/Compartir. Tambin escribiremos el directorio a donde se copiaran esos archivos. Para esto debemos saber la direccin Ip de la maquina donde se van a transferir los datos. En este caso esa direccin Ip es 10.0.0.7, y el directorio se escribir de la siguiente manera: 10.0.0.7:/root/Desktop/Compartir.
Vemos como se copian los archivos. Podemos ver tambin que se nos pidi la contrasea de la maquina a la cual se copiaron los archivos. Esto lo hace por seguridad y mtodos de autentificacin. Nos dirigimos a la maquina a la cual se copiaron los archivos y podremos ver los datos:
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 smbolo asterisco (*) significa que se abarcar todos los das, horas, etc, segn el campo que se especifique en el fichero. Nota: como comando pondr la ruta de un fichero de backup que ya haba 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 da (daily), a la hora (hourly), a la semana (weekly) o al mes (monthly). Algo sencillo y sin complicaciones para el usuario. Por ejemplo: deseamos que el script backup.sh que creamos ms arriba se ejecute los viernes a las 5:30 pm, introducimos la siguiente lnea en crontab: 30 17 * * 5 /root/Desktop/Scripts/backupscript.sh
Luego de esto guardamos el fichero y el script de backup se ejecutara en el tiempo especificado en contrab.