cuaderno de campo

anotaciones

Menú
  • casa
    • dinou del carrer nou
  • cocina
    • pan
    • repostería
    • verdura
  • huerto
    • plano del número 29
    • huerto del año 2023
  • humanidades
    • fonoteca
    • galería
  • juego
    • colección de roms
    • lista de juegos
    • dosbox
  • 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

  • Beats and yelling shorts, 29th September 23 29 de septiembre de 2023 Hate Meditations
  • Open Directory of Slayer Bootlegs, Live, and Rare 29 de septiembre de 2023 Brett Stevens
  • Beats and yelling: Demoniac and the not renaissance of thrash 28 de septiembre de 2023 Hate Meditations
  • Manowar Re-Imagined Through Hurdy-Gurdy Cover of “The Crown and the Ring” 27 de septiembre de 2023 Brett Stevens
  • Ascendency – A Manifest of Imperious Destiny EP (2023) 26 de septiembre de 2023 Belisario
  • VINT-I-QUATRE 26 de septiembre de 2023 Pablo Sánchez Silva
  • VINT-I-TRES 26 de septiembre de 2023 Pablo Sánchez Silva
  • Conociendo la Criptozoología con Javier Resines en “Más allá de la verdad” 26 de septiembre de 2023 Javier Resines
  • Gridlink – Coronet Juniper (2023) 26 de septiembre de 2023 Raphael Alecto

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