É um pouco longo, mas vamos lá. Vou procurar explicar da melhor forma possível.

Primeiro você deve configurar o syslog.conf do host onde fica rodando os teste 
para
"ouvir" mensagens enviadas pelo seu scipt e encaminhá-las ao host remoto. O 
syslogd
disponibiliza as facilidades local0 a local7 para utilização local, veja uma 
que não
esteja em uso no syslog.conf para usar no seu script (você pode ler mais sobre 
o syslog
nessa página do facalinux => 
http://focalinux.cipsga.org.br/guia/inic_interm/ch-log.htm).
Você deve adicionar linhas no syslog.conf assim:

localx.info <TAB> @10.10.10.10

onde x é o número da facilidade escolhida (0 a 7). Eu utilizo o nível info, mas 
você pode
utilizar algum outro, conforme lista que consta na página que passei. Separe os 
campos com
no mínimo um <TAB>, não utilize espaços. O segundo campo é o ip do host para o 
qual será
enviada a mensagem, mande o sinal HUP (-1) para o processo do syslogd 
atualizar. 
Para enviar a mensagem a partir do script, utilize o comando logger -p 
localx.info
mensagem. Você pode usar o parametro -i pra enviar o PID do processo também. O 
campo
mensagem pode conter espaços. Feito isso, vamos configurar os hosts remotos. 
Por padrão,
no Linux o syslogd não recebe mensagens de hosts remotos, a menos que seja 
startado com o
parametro -r. Verifique no seu init e adicione esse parametro à inicialização 
do daemon
syslog. No syslog.conf do host remoto, você deve adicionar uma linha assim:

localx.info <TAB> destino

sendo que destino pode ser um arquivo local, um outro host (nesse caso além do 
parametro
-r, o syslogd deve ser iniciado com o -h também, para redirecionar mensagens 
provindas de
outras máquinas), para todos os usuários logados (*), usuários específicos 
(separando os
logins por vírgula quando for mais de um) ou um pipe. No seu caso, você pode 
usar um pipe
para um comando que verifica quais usuários estão logados e manda a mensagem 
para eles, ou
para um arquivo e põe um script no cron que verifica em intervalos definidos 
por você se
houve alguma falha e, se houve, verifica quais usuários estão logados e exibe o 
pop-up.

Espero ter ajudado e ter sido o mais explícito possível.




Citando chmod000 <[EMAIL PROTECTED]>:

> Pode ser uma soluão interessante... o caso é o seguinte. Depois de verificar
> os hosts com problemas o meu script gera uma listagem deles, tipo:
> host1 fora do ar.
> host2 fora do ar.
> host3 fora do ar
> e assim por diante...
> 
> Como poderia fazer para enviar uma mensagem destas para o syslog de uma
> máquina remota?
> 
> Me dá uma sugestão aí... talvez não precise uma mensagem completa destas na
> máquina remota, basta que ela receba um aviso de que algo está errado com os
> hosts, ok. Mas não tenho idéia de como enviar esta mensagem para o terminal
> remoto... Nunca pensei em uma solução desta forma, mas estou gostando... ;-)
> 
> Manda aí a "sugesta"!
> 
> Abraço
> 
> Em 15/02/06, Welliton Sá <[EMAIL PROTECTED]> escreveu:
> >
> >  Eu tenho uma sugestão completamente diferente das que estão sendo
> > discutidas, mas que utilizo com sucesso em uma situação semelhante à sua.
> > Você já pensou em usar o syslog para enviar a mensagem para as máquinas
> > remotas e nelas colocar uma entrada no cron pra verificar o log criado
> > periodicamente e se encontrar algo exibir a janela?
> >
> >
> >
> > ----------------------------------------------------------------------------
> > -------------
> > -----Mensagem original-----
> >
> > ok, isso eu consegui fazer, obrigado! Já consigo enviar as mensagens para
> > os
> > hosts remotos. Só tem um detalhe que ainda não conseguimos driblar...
> >
> > para enviar o comando para o host remoto e exibir o pop-up no display que
> > está em uso ":0.0" tenho que fazer isso com o usuário que está logado, por
> > exemplo; para enviar o comando para o host 192.168.xxx.xxx em que o
> > usuario
> > feijo está logado tenho que usar o comando
> > $ssh -t [EMAIL PROTECTED] comando -display :0.0
> >
> > mas se o usuario logado for o reinaldo, esse mesmo comando não funciona,
> > dá
> > o seguinte erro:
> >
> > Xlib: connection to ":0.0" refused by server
> > Xlib: No protocol specified
> > (gxmessage:23551): Gtk-WARNING **: cannot open display: :0
> >
> > Já configurei o gdm para aceitar login remoto do root e tentei executar o
> > comando usando o usuário root, mas deu o mesmo erro...
> >
> >
> >
> >
> >
> > Em 15/02/06, Emerson Domingues Souto <[EMAIL PROTECTED]> escreveu:
> > >
> > >
> > > Bom, entao ta quase lá ...
> > >
> > > entao, se o usuário feijo existe nas maquinas feijo e reinaldo, vc pode
> > > criar uma chave criptografada (SSH sem senha) para este usuario
> > > entao, vc conseguirá executar o comando sem pedir a senha.
> > >
> > > Espero ter ajudado,
> > > Emerson Souto
> > >
> > >   ----- Original Message -----
> > >   From: chmod000
> > >   To: shell-script@yahoogrupos.com.br
> > >   Sent: Wednesday, February 15, 2006 8:25 AM
> > >   Subject: Re: [shell-script] Enviar mensagens "pop-up"
> > >
> > >
> > >   hahaha, foi mal reinaldo é um usuário que tem um host com o nome dele
> > >   adicionado no meu /etc/hosts...
> > >
> > >   Mas o comando funcionou legal, só que fica me pedindo senha.
> > >
> > >   Em 14/02/06, Emerson Domingues Souto <[EMAIL PROTECTED]>
> > escreveu:
> > >   >
> > >   >
> > >   > Perai,
> > >   >
> > >   > "reinaldo" é um host ou um usuario ?
> > >   >
> > >   > pois o comando ssh funciona assim:
> > >   > ssh -t [EMAIL PROTECTED] comando [ argumentos ]
> > >   >
> > >   > ou seja, me parece q no teu caso deveria ser assim:
> > >   >
> > >   > Prompt> ssh -t [EMAIL PROTECTED]  gxmessage -display :0
> > > -buttons
> > >   > "OK:63"
> > >   > ou senao:
> > >   > Prompt> ssh -t [EMAIL PROTECTED]  gxmessage -display :0 -buttons
> > >   > "OK:63"
> > >   >
> > >   >
> > >   > Att,
> > >   > Emerson
> > >   >
> > >   >   ----- Original Message -----
> > >   >   From: chmod000
> > >   >   To: shell-script@yahoogrupos.com.br
> > >   >   Sent: Tuesday, February 14, 2006 4:49 PM
> > >   >   Subject: Re: [shell-script] Enviar mensagens "pop-up"
> > >   >
> > >   >
> > >   >   Oi galera, achei o gxmessage, ele faz popup do jeito que eu quero,
> > > no
> > >   >   terminal que eu especificar:
> > >   >
> > >   >   O problema agora é que via ssh não tenho permissão para escrever
> > no
> > > X
> > >   > (acho
> > >   >   que é isso). Olha só o exemplo:
> > >   >
> > >   >   tem um usuário logado
> > >   >   [EMAIL PROTECTED]:~$ who
> > >   >   reinaldo :0           Feb 14 16:58
> > >   >   feijo    pts/0        Feb 14 17:40 (192.168.xxx.xxx)
> > >   >
> > >   >   daí eu executo o comando para enviar a mensagem:
> > >   >
> > >   >   [EMAIL PROTECTED]:~$ ssh -t [EMAIL PROTECTED] gxmessage -display :0
> > -buttons
> > >   > "OK:63"
> > >   >   "Testing"
> > >   >   Password:
> > >   >   Xlib: connection to ":0.0" refused by server
> > >   >   Xlib: Invalid MIT-MAGIC-COOKIE-1 key
> > >   >
> > >   >   (gxmessage:3610): Gtk-WARNING **: cannot open display: :0
> > >   >   Connection to reinaldo closed.
> > >   >
> > >   >   obs.: a senha foi digitada corretamente.
> > >   >
> > >   >
> > >   >   Em 14/02/06, chmod000 <[EMAIL PROTECTED]> escreveu:
> > >   >   >
> > >   >   > Grande emerson... tá quase bom.. hehehe estou tentando aprimorar
> > > um
> > >   > pouco,
> > >   >   > mas tá estranho.
> > >   >   >
> > >   >   > Respondendo às suas perguntas.
> > >   >   >
> > >   >   > Quero enviar uma única mensagem, em popup, e sair do host
> > remoto.
> > >   >   >
> > >   >   > a combinação que vc mandou é quase perfeita, não fosse pela
> > >   > necessidade de
> > >   >   > digitar uma senha e de não ser broadcast.
> > >   >   >
> > >   >   > O caso é o seguinte, deixa ver se consigo me expressar
> > > direitinho...
> > >   >   >
> > >   >   > tenho um script rodando em um servidor. Este escript verifica a
> > >   > conexão de
> > >   >   > outras máquinas (clientes) e checa alguns serviços. Caso haja
> > > alguma
> > >   > coisa
> > >   >   > fora do padrão ele envia um e-mail para o administrador. Além
> > > disso,
> > >   > quero
> > >   >   > que ele envie uma mensagem para os terminais (especificados em
> > um
> > >   > arquivo) e
> > >   >   > exiba um "alert" com a mensagem de erro.
> > >   >   >
> > >   >   > este ssh -t ficou legal mesmo, mas bate na tecla da
> > autenticação.
> > >   >   >
> > >   >   > tem alguma outra idéia?
> > >   >   >
> > >   >   > Em 14/02/06, Emerson Domingues Souto <[EMAIL PROTECTED]>
> > >   > escreveu:
> > >   >   > >
> > >   >   > >  hum ...
> > >   >   > >
> > >   >   > > que tal SSH + WRITE ?
> > >   >   > >
> > >   >   > >
> > >   >   > > Exemplo:
> > >   >   > >
> > >   >   > > Prompt> ssh -t [EMAIL PROTECTED] echo "TESTE" | write
> > > usuario_y
> > >   >   > >
> > >   >   > > Isto é apenas um exemplo, pois o comando pode ser mais
> > > aprimorado.
> > >   >   > > deve resolver para o q vc quer
> > >   >   > >
> > >   >   > > Mas, me corrija se eu estiver enganado, se vc quer Popup, vc
> > > teria
> > >   >   > > conversacao (CHAT), como um chat, correto ?
> > >   >   > > entao, o q vc deseja ? apenas enviar mensagem, ou deseja
> > > conversacao
> > >   > ?
> > >   >   > >
> > >   >   > > Se vc quer conversaçao use o comando TALK
> > >   >   > >
> > >   >   > >
> > >   >   > > Espero ter ajudado,
> > >   >   > >
> > >   >   > > Emerson
> > >   >   > >
> > >   >   > >
> > >   >   > >
> > >   >   > >   ----- Original Message -----
> > >   >   > >   From: chmod000
> > >   >   > >   To: shell-script@yahoogrupos.com.br
> > >   >   > >   Sent: Tuesday, February 14, 2006 3:26 PM
> > >   >   > >   Subject: Re: [shell-script] Enviar mensagens "pop-up"
> > >   >   > >
> > >   >   > >
> > >   >   > >   Emerson, testei o comando conforme vc indicou. Realmente ele
> > > envia
> > >   > a
> > >   >   > >   mensagem "TESTE" para o usuário logado no terminal indicado,
> > > porém
> > >   > o
> > >   >   > > que
> > >   >   > >   quero é que ele envie para um usuário logado em qualquer
> > > terminal,
> > >   > mas
> > >   >   > > de um
> > >   >   > >   host remoto. De preferência uma mensagem no estilo pop-up do
> > > X.
> > >   >   > >
> > >   >   > >   Tem alguma sugestão?
> > >   >   > >
> > >   >   > >   Em 14/02/06, Emerson Domingues Souto <
> > [EMAIL PROTECTED]>
> > >   >   > > escreveu:
> > >   >   > >   >
> > >   >   > >   >
> > >   >   > >   > Olá.
> > >   >   > >   >
> > >   >   > >   > O comando WRITE faz isso q vc quer:
> > >   >   > >   >
> > >   >   > >   > Ex1:
> > >   >   > >   > Prompt> echo "TESTE" | write emerson /dev/pts/8
> > >   >   > >   >
> > >   >   > >   > O comando acima manda a mensagem teste para o usuario
> > > EMERSON
> > >   > que
> > >   >   > > está
> > >   >   > >   > logado no /dev/pts/8
> > >   >   > >   >
> > >   >   > >   >
> > >   >   > >   > Ex2:
> > >   >   > >   > Prompt> cat arquivo.txt > /dev/pts/8
> > >   >   > >   >
> > >   >   > >   > O comando acima lista o conteudo de arquivo.txt para quem
> > >   > estiver
> > >   >   > > logado
> > >   >   > >   > em /dev/pts/8
> > >   >   > >   >
> > >   >   > >   >
> > >   >   > >   > E assim vai indo .... no meu modo de ver o WRITE ou
> > > simplesmente
> > >   >   > >   > direcionar para o TTY te atenderia muito bem.
> > >   >   > >   >
> > >   >   > >   > Espero ter ajudado,
> > >   >   > >   > Emerson Souto
> > >   >   > >   >
> > >   >   > >   >
> > >   >   > >
> > >   >   > > [As partes desta mensagem que não continham texto foram
> > > removidas]
> > >   >   > >
> > >   >   > >
> > >   >   > >
> > >   >   > >
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> > >  ---------------------------------------------------------------------
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > como
> > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio
> > > aviso.
> > > ---------------------------------------------------------------------
> > > Sair da lista: [EMAIL PROTECTED]
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > > Servidor Newsgroup da lista: news.gmane.org
> > > Grupo: gmane.org.user-groups.programming.shell.brazil
> > >
> > >
> > >
> > >
> > >  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> > >
> > <
> > http://br.ard.yahoo.com/SIG=12fosmss3/M=396547.7942355.8808049.2369893/D=br
> >
> > clubs/S=2137111254:HM/Y=BR/EXP=1140029693/A=3291957/R=2/SIG=154bf6ok5/*http:
> > //lt.dell.com/lt/lt.aspx?CID=11305&LID=309989&DGC=BA&DGSeg=DHS&DURL=
> > http://w
> >
> >
>
ww1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%<http://ww1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%25>
> > 3ddhs>
> > > ------------------------------
> > > *Links do Yahoo! Grupos*
> > >
> > >    - Para visitar o site do seu grupo na web, acesse:
> > >    http://br.groups.yahoo.com/group/shell-script/
> > >
> > >    - Para sair deste grupo, envie um e-mail para:
> > >
> > [EMAIL PROTECTED]<
> > [EMAIL PROTECTED]
> > upos.com.br?subject=Unsubscribe>
> > >
> > >    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > >    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > >
> > >
> >
> >
> > --
> > []'s
> > chmod000
> > "Microsoft butterfly is their way of telling you their system has a lot of
> > @#$ bugs!"
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação, como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> > prévio
> > aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: [EMAIL PROTECTED]
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >  ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação, como
> > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> > aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: [EMAIL PROTECTED]
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> >
> >
> >  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
> >
>
<http://br.ard.yahoo.com/SIG=12f9ccmps/M=396547.7942355.8808049.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1140049605/A=3291957/R=2/SIG=154bf6ok5/*http://lt.dell.com/lt/lt.aspx?CID=11305&LID=309989&DGC=BA&DGSeg=DHS&DURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3ddhs>
> > ------------------------------
> > *Links do Yahoo! Grupos*
> >
> >    - Para visitar o site do seu grupo na web, acesse:
> >    http://br.groups.yahoo.com/group/shell-script/
> >
> >    - Para sair deste grupo, envie um e-mail para:
> >   
>
[EMAIL PROTECTED]<[EMAIL PROTECTED]>
> >
> >    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> >    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> >
> >
> 
> 
> --
> []'s
> chmod000
> "Microsoft butterfly is their way of telling you their system has a lot of
> @#$ bugs!"
> 
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 
> 
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc.
> Quem insistir em não seguir esta regra será moderado sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
> 
> 
> Links do Yahoo! Grupos
> 
> 
> 
> 
> 
> 
> 
> 


 


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a