Como arquivos de backup com logrotate e Amazon S3?

2

Eu gostaria de criar um novo padrão de duas coisas:
quanto tempo seria gerado e girado os logs gerados pelos meus aplicativos?
como transferir os logs para o Amazon S3, como um servidor de backup?.

Eu estava pensando em usar logrotate, para girar e compactar meus arquivos diários dessa maneira:

{filename}-{year}-{month}-{day}-{r-months}.gz

A variável r-months significa remain-months , por quantos meses o arquivo deve permanecer no S3, arquivos mais antigos devem ser removidos.

Um amigo meu, dá a ideia de que eu deveria compress the logs daily (no novo formato proposto acima), depois que esses arquivos devem ser enviados para o nosso repositório no Amazon S3. Então files older than 7 days should be removed by logrotate (porque eles já estão no S3).

Atualmente, nossos aplicativos usam log4j e outros para gerar logs.

1) Devemos desabilitar os logs de versões, gerados por nosso aplicativo e manipular apenas com logrotate?
2) Na sua opinião, você acha que isso poderia falhar em algum aplicativo?
3) Este novo formato de log, é bom?
4) E como enviar os arquivos para o S3? Agora, estou usando s3cmd , você me recomendou outra ferramenta?

    
por Valter Silva 24.04.2013 / 16:03

1 resposta

0

Com relação à sua pergunta 4:

Você pode montar o bucket do S3 como uma partição local e trabalhar com arquivos do S3 como eles estavam localizados no sistema de arquivos do seu servidor. Existem um número de boas ferramentas de código aberto disponíveis.

Mas do meu lado eu recomendo que você dê uma olhada no meu projeto: RioFS , um sistema de arquivos userspace para montar o Amazon S3 baldes. Os objetivos do projeto e as principais vantagens em comparação com outras ferramentas similares são: simplicidade, velocidade de operação e código livre de bugs.

Atualmente, o projeto está no estado "beta", mas está sendo executado em vários servidores de alto volume por um bom tempo ( RioFS fornece um acesso aos arquivos localizados do S3 para servidores ftp / sftp).

Estamos construindo uma comunidade em torno do nosso projeto e estamos buscando mais pessoas para participar do nosso projeto para discutir planos futuros e ajudar nos testes. Do nosso lado, oferecemos uma correção rápida de bugs e ouviremos suas solicitações para adicionar novos recursos.

Um rápido como fazer:

Você pode montar um bucket usando o seguinte comando (supondo que você tenha instalado o RioFS e exportado as variáveis de ambiente AWSACCESSKEYID e AWSSECRETACCESSKEY):

riofs http://s3.amazonaws.com your_bucket_name /path/to/localfolder

(por favor, consulte a descrição do projeto e execute riofs --help para obter ajuda com os argumentos da linha de comando)

Por favor, note que o projeto ainda está em desenvolvimento, ainda pode haver alguns bugs. Se você achar que algo não funciona como esperado: preencha um relatório de problema na página do GitHub do projeto.

Espero que ajude e esperamos ver você se juntar à nossa comunidade!

    
por 02.05.2013 / 23:00