Portanto, eu tenho dois arquivos e, se uma nova linha aparecer em um desses arquivos, gostaria de receber uma mensagem instantânea (de preferência jabber ou gTalk) contendo o conteúdo dessa linha. Vocês têm alguma sugestão para um daemon Linux ou algo que possa fazer isso?
Se você estiver registrando através do syslog, o Metalog terá suporte para executar um comando sempre que uma mensagem que corresponda a algum critério for registrada. Caso contrário, você pode usar tailfpara procurar novas linhas em um arquivo de log.
sendxmpp é um pequeno script perl para enviar mensagens XMPP (possivelmente já disponível como um pacote para sua distribuição favorita)
Você pode unir os dois com um script de shell sem muita dificuldade. Para o caso do metalog, crie um script como este:
Hilário. Acabei de encontrar o sendxmpp e configurei algo assim. Não tinha ouvido falar de tailf, obrigado.
ICCO
Nota: Em caso de problemas, verifique o comportamento de buffer do seu tubo! (Se você estiver grepentendendo, provavelmente precisará aumentar --line-bufferedo encantamento para que as mensagens apareçam.) Passei uma boa hora tentando descobrir por que as mensagens apareciam aleatoriamente ou não.
ninguém
2
Eu fiz esse pequeno script python. Você pode usá-lo como ponto de partida
import xmpp, os, time
login = 'Your.Login' # @gmail.com
pwd = 'YourPassword'
recipient = '[email protected]'
logfile = "/home/myself/test.log"
def sendmsg(text):
global login, pwd, recipient
cnx = xmpp.Client('gmail.com')
cnx.connect( server=('talk.google.com',5223) )
cnx.auth(login,pwd, 'botty')
cnx.send( xmpp.Message( recipient , text ) )
oldsize = newsize = os.path.getsize(logfile)
while True:
newsize = os.path.getsize(logfile)
if newsize != oldsize:
f = open(logfile)
f.seek(oldsize, os.SEEK_SET)
s = f.read()
if s[-1] == '\n':
sendmsg(s)
oldsize = f.tell()
f.close()
time.sleep(10)
Usei as informações nessa página para conectar o xmpppy ao Google Talk.
grep
entendendo, provavelmente precisará aumentar--line-buffered
o encantamento para que as mensagens apareçam.) Passei uma boa hora tentando descobrir por que as mensagens apareciam aleatoriamente ou não.Eu fiz esse pequeno script python. Você pode usá-lo como ponto de partida
Usei as informações nessa página para conectar o xmpppy ao Google Talk.
fonte