cuaderno de campo

anotaciones

Menú
  • casa
    • cocina
      • pan
      • verdura
    • dinou del carrer nou
    • nadal : una carta
    • plano
  • huerto
    • instrucciones sobre el huerto
    • huerto del año 2022
  • humanidades
    • fonoteca
      • Noches en Poderna
      • El canto de las aves
    • galería
    • mala lluna
    • rutas fuera
    • umbrario
    • El misterio de Sant Mena
  • jardín
    • instrucciones sobre el jardín
    • exterior
    • interior
    • viveros
  • juego
    • listado de juegos
  • linux
    • bash
    • sistema operativo
    • ssh
  • web
    • apache
    • css
    • html5
    • javascript
    • mysql
    • php
Menú

supervisión de acciones

Publicado el 23 de noviembre de 201926 de febrero de 2021 por ernesto

  • until como supervisor
    • ejemplo con rsync como accion
  • supervisor en ~/bin
  • fuente
Un supervisor de acciones en bash se asegura de ejecutar una acción hasta que ésta se complete con éxito.

until como supervisor

until acción; do
echo "Acción interrumpida. Reintento en 10 segundos..."
sleep 10
done

el bucle until ejecuta el comando acción hasta que éste concluye con éxito. si la acción indicada acaba en un error (su exit status no es igual a 0), el bucle until ejecuta el contenido del bucle (las líneas de código entre do y done) y comienza de nuevo con el comando acción.

en este caso, las líneas de código entre do y done, emiten un mensaje (echo) expresado entre comillas y esperan 10 segundos (sleep 10) antes de continuar con la actividad del bucle until.

ejemplo con rsync como accion

en el código de ejemplo, donde dice acción, puede invocarse cualquier comando o código:

until rsync -avzP ~/mp3 RB:~/mp3; do
echo "Acción interrumpida. Reintento en 10 segundos..."
sleep 10
done

supervisor en ~/bin

estas líneas de código en ~/bin solicitan una acción que supervisar:

nano ~/bin/super

clear
echo "## SUPERVISOR ##"
echo "¿Qué acción desea supervisar?"
read accion
until $accion; do
echo "Acción interrumpida. Reintento en 3 segundos…"
sleep 3
done

chmod +x ~/bin/super

super

## SUPERVISOR ##
¿Qué acción desea supervisar?
ls

fuente

  • lhunath, «How do I write a bash script to restart a process if it dies?» en Stackoverflow.
Etiquetado como until
  • bin: archivos ejecutables en home

    mkdir ~/bin luego, hay que editar ~/.bashrc para «non-login shells» o ~/.bash_profile para «login shells»…

  • acción sobre todos los archivos de un directorio

    for file in *.rar; do unrar e "$file"; done esta orden inicia un bucle con…

  • renombrando archivos en bash

    sustiuye 1 por 2 en el nombre de todos los archivos (*): rename "s/1/2/g" *…

RSS rutas fuera

  • HS: Laure le Prunenec (Rïcïnn, Öxxö Xööx, Corpo-Mente, ex-Igorrr, etc) 27 de marzo de 2023 hessianfirm
  • Gracias por asistir a la presentación de “Criptozoología en España” 27 de marzo de 2023 Javier Resines
  • Demilich “Last Show Ever” In Madrid Tonight 26 de marzo de 2023 Brett Stevens
  • Fourth Monarchy – Nocturnal Odes of a Wandering Spirit (2023) 25 de marzo de 2023 Brett Stevens
  • Esta tarde, Criptozoología con Vicente Fuentes 23 de marzo de 2023 Javier Resines
  • Beats and yelling from: Yaaroth, Verminous Serpent, Svraoz 22 de marzo de 2023 Hate Meditations
  • Xerrada: La importància de les llavors locals 22 de marzo de 2023 moon
  • Beats and yelling from: Cromlech, Contrarian, Skrying Mirror 21 de marzo de 2023 Hate Meditations
  • Necropolis #62 – On Burzum (Band Focus) 19 de marzo de 2023 Hate Meditations

Categorías

apache bash casa cocina corral css exterior fonoteca galería html5 huerto humanidades humanidades digitales interior jardín javascript juego linux mysql pan php repostería sistema operativo ssh verdura web

Archivo

cuaderno de campo 2011-2023