Ubuntu Server 12.10
HOW TO :
Creación de Scripts
EN ESTE SE REALIZA LO SIGUIENTE:
En este how to se le va a enseñar como crear scripts.
¿
Qué es un script en Linux?Un Script (o guion) para Bash es un archivo de texto que contiene una sucesión de comandos de Shell que pueden ejecutar diversas tareas de acuerdo al contenido del texto del guión. De esta forma pueden automatizarse muchas acciones para alguna necesidad particular o para la administración de sistemas. El guión debe escribirse en un orden lógico pues Bash ejecutará el guión en el orden en que se escriben las líneas, de la misma forma que cuando se realiza una tarea cualquiera por una persona, por ejemplo; primero hay que poner la escalera y luego subirse.
Los Scripts de Bash deben tener siempre como primera línea del guión el texto, para qu e el S i s t e ma O p er at i vo ej e cu t e l a ac ci ó n us an d o el p r o gr am a B as h.
#!/bin/Bash.
Una vez escrito el Script y guardado en el disco en alguno de los directorios "bin" con el nombre y permiso de ejecución apropiados, se invoca, escribiendo en la consola el nombre del guión. Si el guión tiene una interfaz gráfica se invoca como otro
programa
cualquiera, uno o dos clics sobre el guión o su icono. Este puede escribirse en cualquiera de los editores de texto de Linux, por ejemplo Kwrite o Gedit y será ya un guión funcional cuando se salve a alguno de los "bin".
Nota: Es buena práctica cuando se escribe un guión salvarlo apenas se hayan escrito l a s p r i m e r a s l í n e a s p a r a i r c o m p r o b a n d o s u f u n c i o n a m i e n t o e i r c o rr i g i e n d o l o s
problemas.
¿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.
Script Funcional De Una Calculadora
Para hacer un scripts debemos hacer usos de la Terminal de Linux. Para acceder a la Terminal de Linux hacemos clic derecho y elegimos la opcion terminal
Después de estar en la terminar lo primero que debemos de pensar es en el lugar donde queremos guardar dicho scripts. En lo personal yo he decidido crear una c a r p e t a e n e l e s c r it o r io y lla m a r la S c r i p t d o n d e g u a r d a r é d ic h o s c r ip t. P a r a e ll o debemos ubicarnos en el directorio correcto utilizando el comando cd. Luego de estos utilizamos el comando mkdir seguido del nombre de la carpeta que queremos crear.
Luego de esto utilizamos el comando gedit calc.sh para la creación del archivo script. En este comando gedit es el editor de texto de mi gusto que voy a utilizar para editar el texto, calc es el nombre del archivo script a crear y .sh es la extensión del archivo script.
Luego de esto procedemos a editarlo y para hacer la calculadora funcional debemos escribir lo siguiente en el archivo.
Explicación Del Script
Después de editar el archivo script procedemos a guardarlo.
Se pueden ejecutar en Bash las principales acciones aritméticas entre las variables utilizando los signos:
+ suma - resta
* multiplicación / división
Las operaciones tienen su sintaxis que debe ser respetada para que Bash lo haga adecuadamente.
Echo y Read
En algunas ocasiones será necesario leer ciertas variables desde el teclado o
imprimirlas a la pantalla, para imprimir a la pantalla se pueden invocar dos programas en la línea de comandos:
echo
Y para leer desde el teclado se usa: read
Ejecutando y Probando Funcionalidad De La Calculadora
Para ejecutar el script tan solo tenemos que escribir en la terminal el comando sh seguido del nombre del script. En mi caso será sh calc.sh.
Resta:
Suma:
Multiplicación:
Si nos fijamos esta última prueba de nuestro script arroja un error en el proceso de la multiplicación. Así que vamos a editar el script con el fin de que sea totalmente funcional
.
Lo que hicimos fue enfatizar la parte del signo introduciéndola entre comillas "" con el fin de que sea reconocido al momento de ejecutar la multiplicación, veamos si fue posible…
Script Funcional Para La Administración De Usuarios
En esta ocasión vamos a crear un Script para la administración de usuarios, en el cual se incluirá un menú que nos brindará las siguientes opciones:
Crear un Usuario
Cambiarle la contraseña a un usuario Añadir un Usuario a un Grupo
Ver datos de un Usuario Obviamente la opción Salir
Para la creación de los grupos y usuarios debemos registrarnos como Usuario Root con el comando: sudo -s. Para crear usuarios, utilizamos el comando useradd o adduser, el último tiene una mejor estructura en cuanto a la creación de usuario, ya que cuando utilizamos adduser, se nos pide el número de casa, número de teléfono, entre otros.
Luego de esto utilizamos el comando gedit Administración-de-Usuarios.sh para la creación del archivo script. En este comando gedit es el editor de texto de mi gusto que voy a utilizar para editar el texto, gedit Administración-de-Usuarios. es el nombre del archivo script a crear y .sh es la extensión del archivo script.
La sentencia while [lo quesea] do y al final del texto done se utiliza para ejecutar un grupo de comandos en forma repetida mientras una condición sea verdadera.
Como hemos dicho anteriormente echo se utiliza para mostrarnos la información necesarias al momento de ejecutar el script. Como por ejemplo si observamos la im a g e n a n t e r io r e s c r ib im o s e c h o s e g u i d o d e u n a fr a s e e n t r e c o m i lla s " " q u e s e mostrará cuando ejecutemos el script. En nuestro Script echo "Menú": nos mostrará el menú de opciones.
Luego de esto comenzaremos con las opciones. La primera de ésta es la Crear un Usuario y para ello escribimos lo siguiente en el archivo script.
La segunda opción que tendremos disponible será la de Cambiarle la contraseña a un Usuario, Para ello utilizaremos el comando Passwd. La tercera opción es la de Agregar un Usuario a un determinado Grupo, para ello utilizaremos el comando Addgroup.
La cuarta opción disponible es la de ver los datos concernientes a un Usuario, para ello utilizaremos el comando Id.
Probando el Script
Como mencionamos anteriormente para ejecutar el script tan solo tenemos que escribir en la terminal el comando sh seguido del nombre del script. Después de ejecutarlo veremos el script en funcionamiento y nos presentará un menú con las
opciones que describimos anteriormente. Nos pedirá que elijamos una opción escribiendo el número de la misma.
Empezaremos con la número 1 y crearemos un Usuario llamado Orlando. Después de creado el usuario debemos de asignarle una contraseña al nuevos usuario, como
podemos ver, la creación de usuario con este comando es un poco más extensa, ya que con el mismo debemos de llenar otros requisitos que nos pide el Shell acerca del usuario que vamos a crear, como por ejemplo: nombre completo, número de habitación, número de teléfono. Entre otros. Luego de este el Shell nos pregunta si esta información es correcta o no. Contestamos con S para afirmar la información proporcionada.
Script Funcional Para La Administración De Grupos
En esta ocasión vamos a crear un Script para la administración de grupos, en el cual se incluirá un menú que nos brindará las siguientes opciones:
Crear un Grupo
Añadir un Usuario a un Grupo Borrar un Grupo
Obviamente la opción Salir
Repetimos ya que es muy importante que para la creación de los grupos y usuarios debemos registrarnos como Usuario Root con el comando: sudo -s. Para la creación de grupos debemos hacer uso del comando Addgroup seguido del nombre que le queremos asignar a dicho grupo. Utilizamos el comando gedit Administración-de-
Grupos.sh para la creación del archivo script. En este comando gedit es el editor de
texto de mi gusto que voy a utilizar para editar el texto, gedit Administración-de-
Grupos, es el nombre del archivo script a crear y .sh es la extensión del archivo script.
Luego de esto comenzamos a editar el archivo y para ello debemos seguir cada uno de los pasos descritos a continuación.
Los Scripts de Bash deben tener siempre como primera línea del guión el texto, para qu e el S i s t e ma O p er at i vo ej e cu t e l a ac ci ó n us an d o el p r o gr am a B as h.
Luego de esto comenzaremos con las opciones. La primera de ésta es la Crear un Grupo y para ello escribimos lo siguiente en el archivo script. La tercera opción es la de Agregar un Usuario a un determinado Grupo, para ello utilizaremos el comando Addgroup.
La tercera opción a configurar es la de eliminar grupo y para ello utilizaremos el comando delgroup.
Probando el Script
Como mencionamos anteriormente para ejecutar el script tan solo tenemos que escribir en la terminal el comando sh seguido del nombre del script. Después de ejecutarlo veremos el script en funcionamiento y nos presentará un menú con las opciones que describimos anteriormente. Nos pedirá que elijamos una opción escribiendo el número de la misma.
Empezaremos con la número 1 y crearemos un Grupo llamado OS.
Script Funcional Para Creación De Un Backup De Datos
En esta ocasión nos toca crear un Backup de los datos de Nuestro Sistema. En mi caso realizaré un Backup del Sistema De Archivos lo cual es una tarea imprescindible entre las tareas de Administración.
Utilizamos el comando gedit backup.sh para la creación del archivo script. En este comando gedit es el editor de texto de mi gusto que voy a utilizar para editar el texto,
Backup, es el nombre del archivo script a crear y .sh es la extensión del archivo script.
Luego de esto comenzamos a editar el archivo y para ello debemos seguir cada uno de los pasos descritos a continuación. En nuestro script de Backup al momento d ejecutarlo nos presentará un mensaje informándonos: ¡Nuevo Backup!, esto lo hacemos con el comando echo ¡Nuevo Backup! Después de 2 segundos otro que dice: "Se Creará Una Copia De Seguridad De Los Archivos Del Sistema". Esto lo hacemos con el comando sleep 2 que marcará el retraso de los 2 segundos. Utilizaremos el comando cd para determinar el lugar donde queremos guardar la Copia De Seguridad o Backup, en mi caso será en el directorio /home/Orlangel. El comando para realizar el Backup es tar zcvf seguido del nombre deseado para la copia si observamos la imagen el mío se llama Backup-Datos.
Luego de esto utilizamos el comando date para guardar un record de la fecha de creación. El comando sudo find seguido del directorio donde se guarda nuestro Backup y seguido de la sintaxis: .tar* -mtime +30 -exec rm, cuya funcionalidad es la borrar el Backup después de 30 días.
Luego de esto vamos a asignar los permisos correspondientes al script utilizando el comando chmod. En esta ocasión otorgaré el permiso 700 lo que significa que solo yo tengo permiso de ejecutar el script.
Probando el Script
Como mencionamos anteriormente para ejecutar el script tan solo tenemos que escribir en la terminal el comando sh seguido del nombre del script.
Al momento de ejecutar el script veremos los mensajes descritos anteriormente y cómo se iniciará automáticamente la creación del Backup.
L u e g o d e e s p e r a r u n t i e m p o d e t e rm i n a d o s i n o s d i r i g i m o s a l d i r e c t o r i o d o n d e
decidimos guardar nuestra Copia De Seguridad veremos nuestro querido Backup realizado.
Script Funcional Para Compartir Datos Entre PC
Para la realización de este script de transferencia de datos debemos hacer uso de los s e r v ic io s d e NF S . P a r a lo c u a l d e b e m o s e d it a r e l f ic h e r o / e t c / e x p o r t s d o n d e especificaremos (el directorio a compartir, la maquina (s) con quienes lo
compartiremos y los permisos que tendrán para acceder al directorio). Para esto utilizamos el comando: nano /etc/exports.
Luego el siguiente paso es reiniciar el Dominio NFS con el comando: sudo /etc/init.d/nfs-kernel-server Restart.
Luego verificamos que nuestra maquina cliente puede hacer ping a la maquina que funciona como NFS Server.
Luego de verificar que las 2 maquinas (cliente y servidor) se encuentran en la misma red y pueden tener comunicación, utilizamos el comando: showmount -e (ip del servidor nfs) para determinar cuáles directorios se están compartiendo mediante este servicio.
Ahora procederemos a crear una carpeta en nuestra maquina cliente a la que llamaremos ´´cliente´´ en la cual será nuestro punto de montaje.
Ahora procedemos a hacer nuestro script para transferencia de datos. Utilizamos el comando gedit nfs.sh para la creación del archivo script. En este comando gedit es el editor de texto de mi gusto que voy a utilizar para editar el texto, nfs, es el nombre del archivo script a crear y .sh es la extensión del archivo script.
Luego de esto comenzamos a editar el archivo y para ello debemos seguir cada uno de los pasos descritos a continuación. En nuestro script de Backup al momento d ejecutarlo nos presentará un mensaje informándonos: ¡Bienvenidos a itinerario de trabajo diario!, esto lo hacemos con el comando echo ¡Bienvenidos a su itinerario de trabajo diario! Después de 2 segundos otro que dice: "Ahora se montará su
directorio remoto en su directorio local". Esto lo hacemos con el comando sleep 2
que marcará el retraso de los 2 segundos. Para que el script pueda proceder a hacer el montaje desde nuestra maquina cliente, utilizaremos el comando:
mount -t nfs 192.168.1.4:/home/orlan-server/server /home/orlangel/Escritorio/cliente
Utilizar Cron Para La Ejecución Automática De Scripts
En Unix, cron es un administrador regular de procesos en segundo plano que ejecuta procesos o scripts a intervalos regulares (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 se podría definir como el "equivalente" a Tareas Programadas de Windows. Los u s u a r io s h a b ilit a d o s p a r a c r e a r s u f ic h e r o c r o n t a b s e e s p e c if ic a n e n e l f ic h e r o c r o n . a l l o w . D e m a n e r a a n á lo g a , lo s q u e n o l o t ie n e n p e r m it id o f i g u r a n e n /etc/cron.d/cron.deny, o /etc/cron.deny, dependiendo de la versión de Unix.
E l c r o n s e c o m p o n e b á s ic a m e n t e d e d o s " p a r t e s " e l d a e m o n y e l f ic h e r o d e configuración. El daemon se llama crond y es el encargado de leer el fichero de configuración. /etc/crontab. Lo hace cada 60 segundos, en busca de cambios en dicho fichero e incorporar así tareas al sistema.
Configurando en Cron
Por medio de cron podemos hacer varias cosas: programar scripts con la creación de usuarios, creación de grupos, Backup entre otros. Así que en este momentos vamos a programar la creación de un Backup. Para ello debemos editar el archivo contrab, utilizaremos el comando nano contrab -e.
El formato de configuración de cron es muy sencillo.
El símbolo almohadilla «#» es un comentario, todo lo que se encuentre después de ese carácter no será ejecutado por cron.
El momento de ejecución se especifica de acuerdo con la siguiente tabla: Minutos(m): (0-59) Hora(h)s: (0-23) Días(d): (1-31) Mes: (1-12)
Día de la semana: (0-6), siendo 1=lunes, 2=martes,... 6=sábado y 0=domingo (a veces también 7=domingo)