[SP-pm] Compartilhar infos em aplicações, logs, arquivos de configuração e parâmetro

Marcio - Google marciorp at gmail.com
Wed Jul 31 08:36:57 PDT 2013


Salve Mongers!

Estou re-escrevendo vários scripts em bash e mesmo alguns em Perl, e
gostaria de fazer da forma certa ou seguindo as melhores práticas. Então
tenho três dúvidas:

1. Nos scripts bash eu uso o logger para gravar as informações de log, pois
o syslog se encarrega das estratégias de arquivamento, compactação, envio
de e-mail, etc. Em Perl qual a melhor maneira de interagir com o syslog? Ou
devo usar outra estratégia de log?

2. Preciso de arquivos de configuração, para guardar IPs, caminhos, portas,
etc. Hoje tenho um arquivo texto que gravo pares dado=valor, um por linha,
e faço a leitura na mão. Como devo fazer em Perl e qual o melhor formato?
As vezes tenho que gravar dados sensíveis, como senhas.

3. Os parâmetros são uma pedra no sapato. Hoje meus scripts (Bash e Perl)
tem uma ordem que os parâmetro  devem ser passado, e se não for passar
algum parâmetro tenho que colocar no lugar um par "" e dentro do script ler
um por um fazendo os tratamentos com intermináveis "IFs". Gostaria de usar
parâmetros como o próprio Perl, tipo -<letra ou nome do parâmetro><valor do
parâmetro>, sem me preocupar com ordem. Como fazer? Módulo, técnica ...

4. Tenho um script que é executado na inicialização do OS, e como ainda não
sei direito lidar com daemons, uso o nohup. Esse script fica lendo uma
série de informações de vários locais, e conforme as regras ele chama
outros scripts, e até mesmo um script único, mas várias vezes. Só que as
vezes tenho que trocar informações entre esses scripts, tenho que enviar
informações do Pai pro Filho e vice-versa. Hoje faço isso por arquivos, o
que é um s*c* e está sujeito a erros. Essas informações são sempre cadeias
de caracteres, p.e., a7f93j5.
Pra ficar mais fácil de entender, vou exemplificar:
4.1. O pai chama um filho e passa por parâmetro o canal que ele deve usar,
mas em um determinado momento o pai precisa que o filho mude de canal.
4.2. O filho está recebendo mais erros que o normal no processo e precisa
avisar o pai.
4.3. O pai precisa que o filho pare o processamento por um determinado
tempo ou até que receba outra instrução, mas sem encerrar, só fique parado,
tipo while (1) {}.
4.4. O pai precisa que o filho conclua o processo atual e encerre, salvando
os dados.
4.5. O pai precisa saber se o filho está trabalhando e não está travado ou
caiu.
4.6. O filho precisa avisar o pai que concluiu o lote e está parando.
Essas são algumas das situações.

Estou a alguns dias pesquisando no Dr. Google, mas sempre acho mais de uma
solução para a mesma questão. Gostaria da melhor, mais simples, mais
prática.


[...]'s

Marcio

========================================
########### Campanha Ajude o Marcio! ###########
http://sosmarcio.blogspot.com.br/
http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
========================================
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130731/99c7b6d2/attachment.html>


More information about the SaoPaulo-pm mailing list