Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

336
Visualizações
¿Cómo programar una tarea automáticamente con un ciclo while en bash?

Estoy tratando de programar mi secuencia de comandos para que se ejecute en dos momentos diferentes y luego seguir ejecutándose en segundo plano esperando la próxima vez que se cumplan las condiciones nuevamente.

Hasta ahora no puedo hacerlo porque después de que se cumple esa condición, este script sale automáticamente:

 function schedule { while : do hour=$(date +"%H") minute=$(date +"%M") if [[ "$hour" = "02" && "$minute" = "31" ]]; then # run some script exec /home/gfx/Desktop/myscript.sh wait schedule elif [[ "$hour" = "02" && "$minute" = "32" ]]; then # run some script exec /home/gfx/Desktop/myscript.sh wait schedule fi done } schedule

El script que ejecuto es el siguiente:

 $cat myscript.sh echo "this a message"

Cualquier idea o comentario es bienvenido, gracias!

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Cuando tu lo hagas:

 exec some program something else

si el ejecutivo funciona, entonces something else nunca sucederá porque el script se reemplaza por lo que ejecutó

Tal vez en lugar de:

 exec /home/gfx/Desktop/myscript.sh wait schedule

usted quiere:

 /home/gfx/Desktop/myscript.sh & wait # schedule -- don't make a fork bomb

Como se indica en los comentarios, & + wait es un poco tonto, probablemente quieras:

 /home/gfx/Desktop/myscript.sh & # wait # schedule

o:

 /home/gfx/Desktop/myscript.sh # wait # schedule

dependiendo de si desea o no myscript en segundo plano.

TAMBIÉN debe poner un sueño en el bucle, (quizás sleep(59) ) para evitar que se repita como un alma en pena.

Creo que comienza a comprender el atractivo de cron (al menos para las cosas que no desea interactuar con su sesión de terminal).

over 4 years ago · Santiago Trujillo Relatório

0

Los crontabs son el mejor lugar para poner estas cosas.

  • Editar crontab usando

    $ crontab-e

  • Agregue las siguientes líneas a los archivos

 31 2 * * * /home/gfx/Desktop/myscript.sh

Y guarde el archivo crontab. Tu script se ejecutará todos los días a las 2:31 am

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda