Use of cookies

We use cookies to improve and analyse your browsing experience on our web. You can accept these cookies, reject them or choose your settings by clicking on the corresponding buttons. Please note that rejecting cookies may affect your browsing experience. For more information you can consult our Cookies policy.

Configure cookies

Cookies are an essential part of how our web works. The main goal of cookies is to make your browsing experience more comfortable and efficient and to improve our services and the web itself.
Here you can find all the information about the cookies we use and you can activate and/or deactivate them according to your preferences, except for those cookies that are strictly necessary for the operation of the web. Blocking some cookies may affect your experience on the web and how the site works. For more information you can visit our Cookie Policy.

Strictly necessary (technical) cookies

These Cookies are necessary for the web to function and cannot be disabled on our systems. They are generally only set up in response to actions you may take such as requesting services, setting your privacy preferences, logging in or completing forms. You can set your browser to block or warn you about these cookies, but some parts of the web will not work. Information about Cookies.

Analytical cookies

These Cookies allow us to count the number of visits and traffic sources so that we can measure and improve the performance of our site. They help us to find out which pages are the most popular and least popular, and to see how visitors move around the web. All information collected by these Cookies is aggregated and therefore anonymous. If you do not allow these Cookies we will not know when you visited our web. Information about Cookies.

Third party cookies

These cookies are used to analyse your activity in order to show you personalised advertisements. Information about Cookies.

Accept Decline Configure cookies Confirm selected
Search
×
Notes
Search
There are no notes
  • Libro digital
  • To customise Pencil press Alt + Down Arrow
  • To customise Highlighter press Alt + Down Arrow

    Change theme

    Error - please check your internet connection...
    Back

    Blink Help

    x
    Error - please check your internet connection...

    How can we help you?

    No results

    View full manual

    Couldn't find what you were looking for?

    Please describe the issue you are experiencing and provide as many details as possible. Let us know the book, class, access device, licence code, username, used browser or if it occcurs in our app:

    Thickness:
    Font size:
    Filter
      No resources found
      Font size:
      Revision mode

      Revision mode

      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

      Automatización de tareas y lenguajes de guiones

      Automatización de tareas

       

      Qué lograrás en este apartado​​

      • Automatizar tareas en un servidor Linux.
      • Crear programas Scripts con Bash para realizar diferentes tareas en Linux.
      • Combinar los scripts con la automatización de tareas.

       

      Sabías que…

      • Automatizar tareas ayudará a optimizar tu tiempo y automatizar tareas repetitivas.
      • Las copias de seguridad están automatizadas y ayudan a salvar la información a muchas empresas.
      • Cada día se ejecutan millones de Scripts en el mundo.

       

      Contenidos

      1.  Automatización de tareas
        1.1. Introducción Crond
        1.2. Utilización de Crond
        1.3. Cron y múltiples usuarios
      2. Bash
        2.1. Introducción Scripts
        2.2. Parámetros posicionales
        2.3. Variables
        2.4. Estructura de control
        2.5. Estructura de control if/else
        2.6. Estructura de control for
        2.7. Estructura de control while
        2.8. Estructura de control until
        2.9. Estructura de control case
        2.10. Estructura de control select
      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

      1. Automatización de tareas

      1.1. Introducción

      Crond Crond es un demonio que nos permite ejecutar de forma automática tareas a una hora o fecha determinada por el administrador del sistema o por un usuario de Linux. Normalmente se utilizan para tareas administrativas, como copias de seguridad.

      Podemos encontrar más información del cron con el manual de ayuda (man cron).

      Este demonio se ejecuta una única vez, que normalmente es al iniciar el sistema.

      /useruploads/ctx/a/67791969/r/s/18214779/LinuxBasics--SchedulingTaskswithCron_583796.mp4?idcurso=1206939

       1.2. Utilización de Crond

      Disponemos de dos formas de diferenciadas de usar el demonio crond en nuestro sistema.

      La primera es en el directorio /etc donde encontraremos la siguiente estructura de directorios:

      • cron.hourly
      • cron.dailycron.weekly
      • cron.monthly

       

      Sólo tendremos que colocar un script en cualquier de los cuatro directorios. Según el directorio se ejecutará cada hora, cada día, cada semana, cada mes.

      La segunda forma de utilizar el cron es manipular directamente el fichero /etc/crontab, donde podremos indicar más opciones de agenda de ejecución.

      En el fichero encontramos:

      • SHELL – la “Shell” en la cual se ejecutará el script. Si no indicamos ninguna se utilizará la que tenga configurada el usuario.
      • PATH – la ruta donde cron buscará los comandos a ejecutar. Este PATH es diferente al global y al del usuario.
      • MAIL TO – es a quien se le enviará la salida del script en el caso de tener. Si no indicamos nada, se enviará al propietario del script.
      • HOME – Directorio raíz del comando cron, si no se indica será la del usuario que ejecuta el cron.
      • Los comentarios se indican con el carácter #.
      • Por último, tenemos la líneas que ejecutan las tareas programadas. No hay límite de tareas, una por línea. 

       

      Para indicar cuando se ejecuta utilizamos el siguiente esquema:

       1.3. Cron y múltiples usuarios

      Cron permite trabajar con varios usuarios a la vez y cada uno de ellos puede tener su propio crontab. Hay que destacar que el fichero /etc/crontab es el archivo que corresponde al usuario root.

      Para acceder al cron del usuario hay que utilizar crontab –e

      También tenemos la opción de poder controlar que usuarios pueden utilizar el servicio. Para ellos podemos crear los siguientes ficheros:

      • /etc/cron.allow
      • /etc/cron.deny
         

      En el caso que queramos todos los usuarios, utilizaremos el término ALL.

      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

      2. Bash

      2.1. Introducción Scripts

      Un script es un fichero que contiene una serie de comandos ejecutables. Para crear un script usaremos nuestro editor de texto favorito, como por ejemplo nano. Una vez creado guardaremos el fichero.

      /useruploads/ctx/a/67791969/r/s/18215469/ConfiguraciondeCrontabCronDebianVirtualBox.mp3?idcurso=1206939[LINK A EJEMPLO]

      Todo script debe contener la cabecera #! /bin/bash, de esta forma indicamos que los script deben ejecutarse con Bash, a pesar de que Bash no fuera nuestra Shell por defecto.

      Una vez guardado nuestro script debemos de darle permisos de ejecución con el comando chmod +x fichero. Una vez puesto los permisos de ejecución ya podremos ejecutarlo.

      2.2. Parámetros posicionales

      A la hora de ejecutar nuestro script podemos pasarle argumentos que luego podrán ser utilizados dentro de nuestro script.

      [LINK A  EJEMPLO]

      Sus nombres son $1, $2, $3, etc. Además disponemos el parámetro $0 que guarda el nombre del script donde se ejecuta.

      Ejecutamos el script llamado parametros.sh con los permisos correspondientes:

      * Como el argumento $4 no se lo hemos pasado, es nulo y no se muestra nada.

      2.3. Variables

      Podemos usar variables para almacenar valores que posteriormente pueden ser utilizados en nuestro script.

      Para declarar variables igualaremos el nombre de variable al contenido que queramos.

      Ejemplo:

      /useruploads/ctx/a/67791969/r/s/18215469/Tutorialprogramacionbashshellscriptlinux1.Introduccionyprimerscript.mp4?idcurso=1206939

      2.4. Estructura de control

      En Bash disponemos de diferentes elementos para poder controlar el flujo de ejecución de un script:

      • if/else: Ejecuta una serie de comandos dependiendo si una cierta condición se cumple o no.
      • for: Ejecuta una serie de comandos un número determinado de veces.
      • while: Ejecuta una serie de comandos mientras que una determinada condición se cumpla.
      • until: Ejecuta una serie de comandos hasta que una determinada condición se cumpla.
      • case: Ejecuta una o varias listas de comandos dependiendo del valor de una variable.
      • select: Permite seleccionar al usuario una opción de una lista de opciones en un menú.

       

      La mayoría de condiciones utilizadas son comparaciones de cadenas alfanuméricas o numéricas.

      Operador TRUE
      cadena1 = cadena2 cadena1 es igual a cadena2
      cadena1 != cadena2 cadena1 no es igual a cadena2
      cadena1 < cadena2 cadena1 es menor que cadena2
      cadena1 > cadena2 cadena1 es mayor a cadena2
      -n cadena1 cadena1 no es igual al valor null
      -z cadena1 cadena1 tiene un valor null

      Comparación de cadenas alfanuméricas

      Operador TRUE
      x -lt y x menor que y
      x -le y x menor o igual que y
      x -eq y x igual que y
      x -ge y x mayor o igual que y
      x -gt y x mayor que y
      x -ne y x no igual que y

      Comparación de valores numéricos

      Operador TRUE
      -d fichero Fichero existe y es un directorio
      -e fichero Fichero existe
      -f fichero Fichero existe y es un fichero regular
      -r fichero El fichero tiene permisos de lectura 
      -s fichero Fichero existe y no está vacío
      -w fichero El fichero tiene permisos de escritura 
      -x fichero El fichero tiene permisos de ejecución
      -O fichero Es el propietario del fichero
      -G fichero El grupo del fichero es igual al del usuario
      fichero1 -nt fichero2 fichero1 es más reciente que fichero2
      fichero1 -ot fichero2 fichero1 es más antiguo que fichero2 

      Comprobación de atributos de ficheros

      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

       

      2.5. Estructura de control if/else

      Esta estructura de control nos permite realizar comparaciones de cadenas alfanuméricas o numéricas y atributos de ficheros.

      2.6 Estructura de control for

      Los bucles for en los shell scripts se basan en una o varias listas de elementos, que se asignan a una variable sucesivamente.

      2.7. Estructura de control while

      Con el bucle while creamos una iteración condicional, de forma que ejecutaremos una secuencia de comandos continuamente mientras se cumpla la condición.

      2.8. Estructura de control until

      El bucle until funciona de la misma forma que el while, se crea una iteración condicional hasta que se cumpla la condición. La diferencia es que como mínimo se ejecutará 1 vez, ya que la primera vez accederá.

      2.9. Estructura de control case

      Esta estructura la utilizaremos cuando sea necesario comparar el valor de una variable con múltiples resultados y realizar una serie de comandos según el valor.

      2.10. Estructurade control select

      El bucle select nos permite crear menús, con selección por número. La inserción se efectúa mediante el teclado, y si el valor que damos no está en el rango válido, el menú se imprime de nuevo, hasta que insertemos un valor correcto.

      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

      Recursos/Enlaces clave y Ejemplos

      Recursos/Enlaces clave

      Linux Professional Institute
      https://www.lpi.org/

      Web ofician Ubuntu
      https://www.ubuntu.com/

      Oracle Virtual Box
      https://www.virtualbox.org/
       

      Ejemplos

      Ejemplos de scripts cron.

      Ejemplos de scripts bash.

      Ejemplo script hola_mundo.sh

      Ejemplo ejecución:

       

       
      Conceptos clave
      subtitulo
      • Bash (Bourne again shell) es un programa informático, cuya función consiste en interpretar órdenes, y un lenguaje de programación de consola. Está basado en la shell de Unix y es compatible con POSIX.
      • Cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes).
      • Bucle o ciclo, en programación , es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.Lorem ipsum dolorsit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

      Actividades

      1. Generar un script que le pasemos un fichero y verifique que existe y que es un fichero común. Tiene que mostrar un mensaje de error si no existe el fichero.
      (0 words)

      Done
      Libro digital
      Módulo 6 - Administración de sistemas operativos
      Without background sound
      Logo

       

      1. Generar un script que realice un listado recursivo del directorio personal del usuario y guardar la información en un nuevo archive.
      (0 words)

      Done

      ,
      You have completed the lesson!

      Below is the time you have spent on the activity and the score you obtained.

      Time spent

      Score

      1. 1
      2. 2
      3. 3
      4. 4
      5. 5
      6. 6
        Eraser
        Rich text editor
        close