Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

1. Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/06/2012 - 19:59h

Boa noite, tenho o seguinte problema.

Tenho um arquivo mais ou menos nesse formato

nome do arquivo:teste.txt

caminho:"/home/usuario/lalala"
horarios:"12:45 15:00 19:00"


Quero que meu script se execute nos horários listados acima.
Estava pensando em ter um if dentro de um while com a condição:

$hora = 'date +%H:%M'
if [ $horario -eq $hora]


o meu problema está em:

como colocar cada horário (que está no arquivo) dentro de uma variável (ou array), sendo que a quantidade de horários eu não sei pois ela será definida pelo usuário.

Tentei usar o comando mapfiles porem ele pega a linha inteira, teria como usar esse comando colocando algum delimitador de campo
Exemplo

horarios: 12:45 16:45 18:56
Sendo o delimitador de campos o espaço
assim
variavel[0]=12:45
variavel[1]=16:45
variavel[3]=18:56


Uma outra duvida que possuo é se tem como eu fazer um if com array inteiro if [ $horario -eq hora[@] ]




  


2. MELHOR RESPOSTA

Ronaldo Azarias dos Santos
rsantos0504

(usa Slackware)

Enviado em 18/06/2012 - 22:11h

Coloque o script abaixo para rodar no cron com os parametros * * * * *


#!/bin/bash

cat teste,txt | while read Var
do
echo ${Var} | grep -q "caminho:"
if [ ${?}" -eq "0" ]
then
Caminho="${var}"
else
ListaHorarios="${Var}"
for Horario in ${ListaHorarios}
do
$[ ` date +"%H:%M" ` -eq "${Horario}" ] && ${Caminho}
done
fi
done

3. Re: Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 17/06/2012 - 22:15h

Você não pode usar o cron?


4. Re: Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/06/2012 - 22:19h

A ideia é que eu distribua esse programa para vários usuários, Assim eles somente irão nesse "arquivo de configuração" e colocarão o caminho e o horário que desejam que seja executado o script.





5. Re: Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 17/06/2012 - 22:32h

Não sei responder exatamente a sua pergunta, mas vou tentar te ajudar

Crie um usuario para cada um e faça um script que gerer os horarios no cron do usuário.
Espero ter ajudado.


6. Re: Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/06/2012 - 22:35h

Cara já pensei na possibilidade de para cada horário que ele coloque eu crie uma crontab diferente.

mas o problema está em se ele alterar algum horário, como irei atualizar as crons ? (nem digo de adicionar as novas, mas sim de saber qual o horário que ele não quer mais.)






7. Re: Capturando Varios argumentos em arquivo de texto [RESOLVIDO]

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 17/06/2012 - 22:59h

Bom!
Você pode tentar assim:
Cira um script para gerar o cron, usando o echo.
Assim você pode limpar o cron do usuario toda vez que ele rodar o script. Assim para mudar ou adicionar um horario ele teria que colocar todos os horarios novamente.