Como usar o Logrotate no Ubuntu
Logrotate é uma ferramenta de utilitário do sistema que é usada para gerenciar arquivos de log no Ubuntu. Quando um grande número de servidores é gerenciado por qualquer sistema, um grande volume de arquivos de log é gerado, o que consome muito espaço em disco. Logrotate é usado para girar, compactar ou remover arquivos de log automaticamente para economizar espaço em disco. Algumas funções do Logrotate são mencionadas aqui:
- Ele é ativado quando o tamanho do arquivo de registro se torna grande e atinge um determinado limite.
- Ele cria um novo arquivo de log após girar os arquivos antigos.
- Ele compacta arquivos de log.
- Ele executa o script de shell após a rotação do log.
- Ele remove arquivos de log rotacionados mais antigos para economizar espaço em disco.
Neste tutorial, você aprenderá como usar esta ferramenta no Ubuntu 17.10.
Verificando a versão do Logrotate
Logrotate é instalado no Ubuntu por padrão. Execute o seguinte comando para verificar se está instalado ou não. Aqui, a versão do Logrotate é 3.11.0.
$ logrotate
Arquivos de configuração do Logrotate
As informações de configuração do Logrotate são armazenadas em dois lugares. Um deles é o arquivo de configuração principal que está localizado em / etc / logrotate.conf. Ele contém configurações padrão e usa incluir declaração para recuperar informações de configuração de outro local. Outro lugar é um diretório que contém todos os arquivos de configuração de serviço e aplicativo e localizado em / etc / logrotate.d. Quando qualquer novo pacote é instalado no sistema, as informações de rotação de log desse pacote são armazenadas neste local.
Abrir logrotate.conf do terminal.
$ nano / etc / logrotate.confO seguinte conteúdo será mostrado. Você pode girar os arquivos de registro de hora em hora, diariamente, semanalmente, mensalmente e anualmente. Aqui, semanal significa que os arquivos de log serão configurados semanalmente. A próxima linha indica que os arquivos de log pertencem aos usuários do grupo root e syslog. Rotate 4 indica que Logrotate manterá 4 semanas de backup de arquivos de log e arquivos de log vazios serão criados após girar os arquivos de log antigos. Se você definir a rotação para 0, todos os arquivos de log antigos serão removidos. Se você deseja compactar os arquivos de log, apenas descomente a linha de compactação removendo o símbolo de hash.
Se você abrir o diretório de / etc / logrotate.d então aparecerá a seguinte lista que contém outros arquivos de configuração do logrotate.
$ ls / etc / logrotate.d
Execute o comando para abrir o arquivo de configuração do apache2. Existem muitos tipos de regras que são usadas para definições de configuração. Alguns deles são explicados aqui. Missok indica que nenhuma mensagem de erro será escrita se o arquivo de log estiver faltando e notificar vazio indica que se o arquivo de log estiver vazio, ele não girará. Criar raiz 644 de raiz é usado para criar arquivos de log imediatamente após a rotação, como usuário root e grupo de usuários root com modo de permissão específico.
$ nano / etc / logrotate.d / apache2
Criação de um arquivo de configuração de amostra
Suponha que você deseja criar um arquivo de configuração no local / home / ubuntu / logrotate.conf onde as configurações para logrotate serão definidas como: arquivos de log irão girar mensalmente, girar 10 vezes, compactar, omitir mensagem de erro se algum arquivo de log estiver faltando e criar arquivo de log após remover os antigos. Abra qualquer editor, adicione as seguintes opções de configuração e salve o arquivo. Aqui, ubuntu está logado no nome do usuário.
/ home / Ubuntu / logs / *.registropor mês
Missok
girar 10
comprimir
Criar
Execute o seguinte comando para criar um arquivo de log chamado mylog.registro e inicialmente o arquivo de log está vazio.
$ nano mylog.registroExecute o comando logrotate para verificar se as entradas de registro foram criadas ou não.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state --verboseA seguinte saída aparecerá após executar o comando acima pela primeira vez.
Agora abra logrotate-state arquivo para examinar o que é adicionado ao arquivo. Uma vez que nenhum arquivo de log foi gerado ainda, a seguinte saída aparecerá.
$ nano home / ubuntu / logrotate-state
Execute o seguinte comando para girar o arquivo de log com força. Mas nenhuma mudança aparecerá aqui de acordo com a saída anterior porque o intervalo de rotação é definido como mensal e o período de tempo não é excedido aqui.
$ logrotate / home / ubuntu / logrotate.conf --state / home / ubuntu / logrotate-state--verboso --force
Muitas outras opções de logrotate estão disponíveis para configurar arquivos de log. Você obterá a lista de opções de logrotate após executar o seguinte comando:
$ man logrotate
Algumas outras opções de logrotate mais usadas são, size, copytruncate, postrotate, maxage e compresscmd. Essas opções são explicadas resumidamente aqui.
Tamanho:
Esta opção é usada para definir o limite do tamanho do arquivo de log e logrotate irá girar os arquivos de log quando o tamanho do arquivo atingir ou exceder o limite.
copytruncate:
Esta opção é usada para criar uma cópia dos arquivos de log originais e truncar o tamanho do arquivo de log original para 0. Para que o serviço relacionado a esse arquivo de log em particular possa gravar o log corretamente no arquivo original.
pós-rotação:
Esta opção é usada para executar um script de shell personalizado após completar a rotação do arquivo de log.
maxage:
Esta opção é usada para definir a duração do tempo para armazenar informações do arquivo de log antigo. Ele define os valores máximos em dias para manter os arquivos de log e todos os arquivos de log serão removidos quando os valores máximos excederem.
compresscmd:
Você pode compactar arquivos de log usando diferentes comandos. Esta opção é usada para especificar o tipo de comando de compressão.
Depois de ler este tutorial, você será capaz de usar o Logrotate com diferentes opções para gerenciar seus arquivos de log adequadamente.
Mais Informações
Logrotate Man Page