sexta-feira, 8 de abril de 2011

Apagar histórico de conversas no openfire

Para quem usa o plugin de log de conversas no openfire e quer apagar as conversas, eu
escrevi um mini-script para apagar, ele apaga apenas de um determinado usuário.

Ex:
# ./ofhistdel.py zequinha@ficou.sem.log




*****
Atualização (2014-04-30): Alterado nome do repositório
https://github.com/amcorreia/openfire-cli

Atualização (2012-08-28): O código está hospedado na minha conta do Github
https://github.com/amcorreia

20 comentários:

  1. Qual a Versão do Python ter que usar?

    ResponderExcluir
  2. Olá amigo,
    eu utilizei a 2.4.4, não testei em outras versões, mas acredito que não dê problema.

    ResponderExcluir
  3. Boa Tarde...
    Toda vez que executo seu script ele retorna essa msg de erro:
    Traceback (most recent call last):
    file "./ofhistdel.py", line 93, in
    main (sys.argv)
    File "./ofhistdel.py", line 84, in main
    conn = adobd.NewADOConnection (conn_string)
    File "/usr/lib/pymodules/python2.6/adobd.py", line 152, in NewADOConnection
    conn.Connect (server,user,pwd,db)
    AttributeError: 'NoneType' object has no atribute 'Connect'

    ResponderExcluir
  4. Olá,

    Normalmente quando tenho esse tipo de erro é porque o psycopg não está instalado.
    Se você usa debian/ubuntu
    # apt-get install python-psycopg

    ResponderExcluir
  5. Bom dia...
    Realmente o psycopg não esta instalado, porem não consigo acha-lo para a instalação, só me aparece o psycopg2, parece que o psycopg foi abandonado, vou continuar procurando ele por aqui. Obrigado

    ResponderExcluir
  6. Olá,

    Então... o psycopg e psycopg2, são filhos do mesmo pai. E o python-adodb "deve" deixar a utilização de ambos transparente, pois essa é a ideia de uma biblioteca de abstração de banco de dados.
    Instala o psycopg2 e deve funcionar normalmente.

    ResponderExcluir
  7. Me diz uma coisa, para usar esse script, precisa ser windows ou linux?? e sobre o banco de dados, sql ou o proprio banco do open fire?

    ResponderExcluir
  8. Olá Anônimo,

    Eu testei em Linux, mas como python é interpretado não deve ter problema para executar em Windows.
    Quanto ao banco, não entendi direito sua pergunta, esse script eu rodei em um plugin padrão do openfire ,sem alteração na estrutura do sql desse script/plugin, portanto, independente do sistema, banco de dados que você usar, teoricamente tudo teria que funcionar.

    ResponderExcluir
  9. Olá, Alessandro!

    O plugin Monitoring Service da Jive Software guardar em tabela de banco de dados em também em um diretório, certo? O seu plugin python faz exclusão apenas do diretório?

    Eu usei também o I-Ball, e agora desativei, mas como faço para excuir o log gravado por este outro plugin?

    Abs!

    ResponderExcluir
  10. Olá Tiago,

    Não, ele exclui apenas do banco de dados, o que fica em diretório é um arquivo XML. Para apagar em arquivo eu nem tentei pois na empresa que trabalho usamos apenas em banco de dados.

    Quanto ao I-Ball, não conhecia...

    Abraço

    ResponderExcluir
  11. Obrigado por responder prontamente.

    Saberia me dizer se apagando estas linhas do banco de dados, o XML ainda pode deixar rastro de logs? Ou ele cria apenas referências das conversas (x usuário teve chat com y usuário)? Qual o conteúdo deste XML?

    Deveria existir uma forma de excluir a auditoria completa pela interface gráfica né, função tão simples.

    Abs!

    ResponderExcluir
  12. Olá Tiago,

    (não sou um profundo conhecedor do openfire)Pelo que sei, (e nas versões que testei) ele guarda ou em banco de dados, ou nos arquivos de XML.
    Realmente é uma função simples, mas em se tratando de XML não é tão simples ;)

    Abraço

    ResponderExcluir
  13. alessandro madruga será que vc pode me ajudar sou novo nesta area e gostaria de apagar as conversar no openfire e esta instalado o windows 2008

    ResponderExcluir
  14. Boa tarde cristianotec,

    Cara, no windows nunca usei, mas se está em banco de dados, que é o que o script que eu fiz espera, basta tu configurar para host do banco de dados.

    ResponderExcluir
  15. Olá KILLER BRASIL,

    Sim, https://github.com/amcorreia/amcorreia

    Não apareceu porque o CSS do blog está todo errado...

    ResponderExcluir
  16. Boa tarde Alessandro Madruga,
    Tenho um servidor windows 2003 com spark openfire e quero saber como apagar as conversas gravadas, eu só encontro tutorial para linux.
    pode ajudar?

    ResponderExcluir
  17. Bom dia Samuel,

    Eu realmente não testei em windows, a princípio é para o script rodar no windows sem problemas, de qualquer forma só irá funcionar se for utilizado com o banco de dados PostgreSQL.

    ResponderExcluir
  18. Bom dia,

    Baixei sua script e vi que as conversas ficam no BD na tabela OfMessageArchive, porém gostaria de saber se as conversas ficam em algum diretório (linux) padrão, onde pudesse ver as conversas com "vi" e "cat 'arquivo' | grep 'filro' ".

    Não achei nada em /opt/openfire/...


    Desde já agradeço!!

    ResponderExcluir
    Respostas
    1. Olá,

      Não, as conversas ficam apenas no banco de dados.

      Excluir