Script para rodar em background

Iniciado por JarbasAugusto, 17 de Setembro de 2007, 15:18

tópico anterior - próximo tópico

JarbasAugusto

Seguinte,

Estou montando um sistema de vigilância para minha graduação que utiliza o programa MPEG4IP (mp4live) para captura, codificação e alocação dos arquivos no servidor de streaming (Darwin Streaming Server).

o Problema é o seguinte, gostaria que o mpeg4ip rodasse automaticamente(com seus devidos parametros), e em um tempo determinado (de 30 em 30 minutos) ele fechasse e seria executado novamente. Ficando nesse loop indefinidamente.
É possível que aconteça?


arlei

Olá JarbasAugusto,

você pode programar ele para rodar sempre que precisar usando a Cron. Faça uma pesquisa aqui mesmo no fórum que encontrará outros tópicos sobre o assunto.

T+
Arlei

_Luks

nem precisa usar o cron, basta um simples shellscript...

#!/bin/sh
loop="enabled"
while [ $loop = "enabled" ]; do
mpeg4ip& #pra rodar em 2 plano
sleep 1800 #30min
killall mpeg4ip  #fecha o programa
done

JarbasAugusto

obrigado pela ajuda...

só uma coisa.. toda vez antes de reiniciar o programa mpeg4ip tenho que alterar alguns parametros no seu arquivo de configuração mpeg4ip.h.

tem como fazer isso também?

mais complexo é que preciso mandar parametros de data e hora(atuais) para um campo do arquivo de configuração do mpeg4ip.


e onde posso encontrar material para fazer esses scripts, documentação para aprender mesmo.

abraços e já ajudaram bastante!

arlei

Citação de: JarbasAugusto online 18 de Setembro de 2007, 17:13
obrigado pela ajuda...

só uma coisa.. toda vez antes de reiniciar o programa mpeg4ip tenho que alterar alguns parametros no seu arquivo de configuração mpeg4ip.h.

tem como fazer isso também?

mais complexo é que preciso mandar parametros de data e hora(atuais) para um campo do arquivo de configuração do mpeg4ip.


e onde posso encontrar material para fazer esses scripts, documentação para aprender mesmo.

abraços e já ajudaram bastante!

Sugiro o site do Aurélio. O cara é fera em shell script.

http://aurelio.net/shell/

T+
Arlei

JarbasAugusto

#5
Seguinte... acrescentei alguns parametros e será que funcionará?
Pergunto, pq só posso testar isso nos finais de semana, pois somente nesses dias tenho acesso a maquina para testes.

è o seguinte.. Toda vez que o mpeg4ip iniciar, o arquivo de gravação final do video que ele gera será sempre nomeado com a data e hora atual .mp4



#!/bin/sh
loop="enabled"
while [ $loop = "enabled" ]; do
data="`date +%d_%m_%Y`" #salva data atual em data
sed -i 's/^Name=.*/Name=$data.mp4/' /mpeg4ip/mpeg4ip.h #altera a linha Name= para Name=DD_MM_AAAA.mp4 do arq. de config do mpeg4ip
mpeg4ip& #pra rodar em 2 plano
sleep 1800 #30min
killall mpeg4ip  #fecha o programa

done

JarbasAugusto

consegui testar hj.. mas tem um problema na linha sed
Não consigo jogar o valor da variavel $data.

Tem como ser feito?

JarbasAugusto

bom consegui colocar o valor de $data no sed.. coloquei entre " " o comando todo..

mas to com outro problema

a linha qual quero alterar é a que inicia com "recordfile"

Citarname=Teste
recordFile=/usr/local/movies/TFINAL.mp4

mas qndo tento o sed não aceita que coloque "/" no comando, tem outra forma de fazer essa substituição?
pois no final quero que fique assim:

recordFile=/usr/local/movies/$data.mp4

JarbasAugusto