Tuesday 21 November 2017

Logrotate copytruncate binary options


A página de man do logrotate diz que: Im confused por este. Se um programa não pode ser dito para fechar seu arquivo de log, ele continuará a escrever para sempre. Não por algum tempo. Se a compressão for adiada para o próximo ciclo de rotação, o programa continuará a gravar nesse arquivo mesmo após o próximo ciclo de rotação. Como é adiar a solução do problema Minha compreensão é que copytruncate deve ser usado quando um programa não pode ser dito para fechar o arquivo de log. Estou ciente de que alguns dados gravados no arquivo de log são perdidos quando a cópia está em andamento. Eu estava olhando para o arquivo logrotate para couchdb, e tinha ambas as opções copytruncate e delaycompress. Parece que não há nenhum ponto usando delaycompress quando copytruncate já está lá. O que estou perdendo perguntou Jul 21 11 at 2: 14Im trabalhando no Ubuntu 14 com o padrão rsyslog e logrotate utilidade. No padrão rsyslog logrotate /etc/logrotate. d/rsyslog config eu vejo o seguinte: Pelo que eu entendo, é recomendável usar copytruncate em todos os cenários de logrotate, como ele não move o log atual, mas trunca o log para que qualquer Processo com um manipulador de arquivo aberto será capaz de continuar escrevendo para ele. Então, como é que a configuração padrão usando rsyslog recarregar recurso em vez perguntou 05/05 às 7:40 Para responder a sua pergunta, você punho precisa entender o trade-off diferente de recarregar e copytruncate: recarregar. O arquivo de log antigo é renomeado eo processo de gravação nesse log é notificado (via sinal Unix) para recriar seu arquivo de log. Este é o método mais rápido / mais baixo: as operações renomear / mover são muito rápidas e têm um tempo de execução constante. Além disso, é uma operação quase atômica: isso significa que (quase) nenhuma entrada de log será perdida durante o movimento / recarga. Por outro lado, você precisa de um processo capaz de recarregar e reabrir seu arquivo de log. Rsyslog é um processo, portanto, a configuração padrão logrotate usar o método reload. Copytruncate. O ficheiro de registo antigo é copiado para um ficheiro de arquivo e, em seguida, é truncado para eliminar linhas de registo antigas. Enquanto a operação truncada é muito rápida, a cópia pode ser bastante longa (dependendo de quão grande é o arquivo de log). Além disso, alguma entrada de log pode ser perdida durante o tempo entre a operação de cópia (lembre-se, pode ser lento) eo truncar. Por estas razões, copytruncate não é usado por padrão para serviços capazes de recarregar e recriar seus arquivos de log. Por outro lado, se um servidor não é capaz de recarregar / recriar arquivos de log, copytruncate é a sua aposta mais segura. Em outras palavras, ele não requer qualquer suporte de nível de serviço. Respondeu May 5 15 at 7:50 I39m limitando meus arquivos de log para 500M cada, então copiá-los won39t ser um problema (vários segundos no máximo). Obrigado ndash Mattan May 5 15 at 7:57 Isso depende completamente de como o processo está escrevendo logs. Copytruncate só funciona, se as mensagens de log são anexadas ao arquivo (por exemplo, o que gtgt logfile. E não quando ele está redirecionando a saída (por exemplo, qualquer gt logfile).Rsyslog na história de sucesso CentOS Conteúdo Pre-amble Este documento explica como instalar rsyslog Em sistemas derivados da Red Hat usando yum ou baixando e instalando um RPM manualmente. As instruções para usar yum foram adicionadas depois que este documento (extenso) foi escrito especificamente para o método RPM manual somente, então o fluxo pode não ser perfeito, mas você Deve ser capaz de usar a seção yum ou as seções relacionadas RPM pouco sem muita dificuldade. A razão pela qual eu comecei a olhar rsyslog como uma alternativa para o estoque syslog, era que eu precisava de pessoal de apoio para olhar maillog entradas ao diagnosticar e problemas A melhor maneira de fazer isso, sem dar acesso de pessoal a qualquer conta shell em vários hosts de correio, era para obter esses hosts de correio para fazer o login para um servidor MySQL central e permitir o acesso a esse servidor a partir de uma web Navegador. Estas instruções detalham passo a passo como eu fiz isso usando (originalmente) rsyslog 1.17.5 rodando no Scientific Linux 4.5 (um derivativo Red Hat Enterprise Linux 4 Update 5) e usando phpLogCon como a interface web para o banco de dados MySQL. Agora estou usando as versões mais recentes do rsyslog e continuarei atualizando quando novos lançamentos forem disponibilizados. Estas instruções devem ser válidas não apenas para o Scientific Linux, mas para qualquer derivado baseado em RHEL, incluindo o CentOS, o Tao, o Whitebox Linux, etc, uma vez que todos basicamente usam os SRPMs da Red Hat. Essas instruções também são válidas para qualquer versão do rsyslog de 1.17.5 a 1.19.x. Objetivo deste documento Para esboçar as instruções de instalação para rsyslog em Red Hat derivados de sistemas, tais como CentOS 5.x e Scientific Linux 4.5 Recursos A página inicial rsyslog está aqui: Especificação original foi obtida a partir de: no entanto pvrabec doesnt manter esta especificação, então eu usei como Uma base e atualizado adequadamente em cada atualização rsyslog. Usando o yum Verifique se os repositórios yum que você tem acesso para incluir quaisquer pacotes rsyslog: O seguinte é baseado no pacote rsyslog versão 2.0.6 que está no repositório yum base CentOS a partir de setembro de 2009. POR FAVOR NOTE que se a versão 3 ou superior Torna-se disponível, a instalação pode ser diferente devido às mudanças no rsyslog a partir da versão 3. Basta instalar rsyslog usando yum: Isso não deve fazer nada para o seu sistema atual (geralmente syslog / sysklogd). Ele apenas instala o rsyslog em paralelo (e cabe a você ativá-lo). Tudo é colocado no lugar para você (scripts de inicialização, arquivo de configuração que é um espelho do syslog. conf, integração com a rotação de log, etc.) e você só tem que: Se você quiser remover sistematicamente syslog / sysklogd do seu sistema, você Pode tentar: Nota yum também deve adicionar rsyslog para /etc/logrotate. d/syslog para que você não tem que tocar em nada disso. Após a instalação, esse arquivo deve ser semelhante a este: Deixar a linha syslog nesse arquivo não vai machucar nada. Agora você está concluído e tem um substituto de rsyslog de trabalho para syslog / sysklogd. Agora você pode ir para /etc/rsyslog. conf se quiser adicionar regras de registro mais poderosas. Arquivos de especificações Todos os arquivos de especificação que mantenho podem ser encontrados aqui: Atualmente tenho os seguintes arquivos de especificações disponíveis: Para fins de economizar tempo no futuro, enviei meu arquivo de especificações para o excelente repositório rpmforge e espero que algum dia eles possam assumir e Mantê-lo. Nota 1: embora todos esses arquivos de especificações estejam configurados com o MySQL ativado (a configuração --enable-mysql no arquivo spec), eles ainda podem ser usados ​​mesmo se você não estiver usando o log do MySQL. Nota 2: se você estiver usando rsyslog v1.19.0 e acima, leia a parte inferior da página wiki para instruções especiais sobre o log 1.19.x para o MySQL. Nota 3: depois de revisar minhas instruções do zero, descobri que também precisava dos arquivos: no diretório / usr / src / redhat / SOURCES para construir corretamente a partir dos arquivos de especificações fornecidos. Construir RPM (s) Uma vez que um dos arquivos de especificações acima tenha sido baixado e copiado para: e o acompanhamento rsyslog tarball (que o arquivo de especificação referências) foi baixado e copiado em: então é simplesmente uma questão de fazer: para construir o rsyslog RPM binários. Instale o RPM rsyslog recém-construído Nota: A instalação deste RPM removerá sua configuração antiga do syslog, como queremos que ela faça, e substitua-a pelo rsyslog. Inicie o rsyslog Por padrão, o rsyslog será iniciado na inicialização: Permite iniciar o rsyslog: e no arquivo / var / log / messages veremos: Configurar o MySQL logging As instruções de configuração estão aqui: A partir dessa URL, vemos: A definição do esquema está contida no arquivo createDB. sql. Ele vem com o pacote rsyslog. Reveja-o para verificar se o nome do banco de dados é aceitável para você. Então precisamos do tarball para extrair esse arquivo dele (como eu não incluir este arquivo no RPM, vou modificar a especificação algum dia para incluí-lo): Nota: no rsyslog v1.19.10 este arquivo pode ser encontrado aqui ./plugins /ommysql/createDB. sql após a extração do tarball. Podemos usar este arquivo diretamente ou, se você quiser especificar o nome do banco de dados (o que eu faço): para alterar o nome Syslog para qualquer nome de banco de dados que você gosta. Execute o arquivo createDB. sql Execute o createDB. sql no banco de dados MySQL, que produzirá o banco de dados Syslog e o preencherá com as tabelas relevantes. Atribuir nome de conta MySQL e senha para o banco de dados Syslog Para simplificar, eu executo o meu trabalho MySQL usando phpMyAdmin, é claro que você pode usar o que você escolher, incluindo o prompt de comando mysql. Por razões de segurança, crie um novo nome de usuário e senha do MySQL que será usado e exibido no arquivo /etc/rsyslog. conf. Usando phpMyAdmin, é suficiente para conceder este usuário INSERT privilégios para o systemevents tabela apenas. Também criamos o usuário syslogwriter MySQL e atribuímos privilégios INSERT à tabela systemevents somente. As seguintes contas MySQL do syslogwriter foram criadas: até N servidores que estarão logon neste banco de dados MySQL. Nota: as contas MySQL acima são necessárias para cada servidor log em um servidor MySQL central. Se o servidor MySQL não vai funcionar como um repositório central para mensagens syslog, então só é necessário syslogwriterservername1.example. au. Diga rsyslog para efetuar logon no banco de dados Como explicado na URL acima: Em seguida, precisamos informar rsyslogd para gravar dados no banco de dados. Como usamos o esquema padrão, não precisamos definir um modelo para isso. Podemos usar o hardcoded um (rsyslogd manipula o modelo adequado vinculação). Portanto, tudo o que precisamos fazer é adicionar uma linha de seletor simples ao /etc/rsyslog. conf Então, fazemos esta alteração: adicione o seguinte ao final do arquivo: Nota: é importante usar espaços TAB entre as entradas acima e modificar o Para sua configuração. Tune DB performance Com grandes bancos de dados de log, você experimentará quedas de desempenho notáveis ​​na interface da web. Até certo ponto, isso pode ser compensado adicionando um par de índices à tabela Syslog, estes são os usados ​​no meu site (Incase): Proteja o arquivo /etc/rsyslog. conf Como discutido no URL acima: Como um lado Nota, é fortemente aconselhável fazer o arquivo rsyslog. conf legível apenas por root - se você torná-lo mundo-legível, todo mundo poderia obter a senha (e, eventualmente, outras informações vitais a partir dele). Reiniciar rsyslog Neste momento, estavam agora log no banco de dados MySQL. Para visualizar os logs, precisamos usar phpLogCon. Instalar phpLogCon wwwlogcon. org/ phpLogCon é usado para procurar o banco de dados MySQL a partir de qualquer navegador da Web. Também suporta a criação de contas de usuário para que as pessoas visualizem as entradas rsyslog registradas. Isso é obviamente extremamente útil e o poder real por trás da visualização das entradas rsyslog em um servidor MySQL central. O arquivo pode ser baixado a partir daqui: Extrair o tarball Criar caminho web ou servidor virtual Eu normalmente crio servidores virtuais Apache para qualquer um desses tipos de configurações em cluster, mas você pode facilmente copiar o diretório extraído phplogcon para: Mover phplogcon para diretório web Executar a instalação para phplogcon Antes de fazer isso, eu tinha que atribuir todos os privilégios de acesso ao banco de dados Syslog para o MySQL syslogwriter usuário caso contrário, o script de instalação não teria os privilégios corretos para escrever nas tabelas. Eu não me incomodei em tentar exatamente os privilégios necessários. Como explicado na URL: Corrigir permissões para que possamos ter a configuração criada pelo script de instalação: Nota: bem mudar para uma configuração mais segura depois que a instalação for concluída. Clique em Enviar na primeira página Bem-vindo à instalação da phpLogCon etc. Detalhes completos para Tipo de conexão, Host / IP, Porta, etc. Clique em Instalar phpLogCon que emite: Proteja o ambiente da web phpLogCon Login para phpLogCon Clique no link de índice, insira o nome de usuário ea senha criados na tela de instalação. Usando phpMyAdmin, podemos agora olhar para a tabela SystemEvents no banco de dados Syslog para mostrar as entradas estão realmente sendo registradas contando o número de entradas na tabela. Também devemos poder ver essas entradas do rsyslog no phpLogCon na guia Mostrar Eventos. Se não fizermos isso, precisamos desativar a configuração da hora UTC, conforme explicado abaixo. Modificar configuração de hora UTC Como explicado aqui: Precisamos modificar a configuração para desativar a configuração de hora UTC. Agora, voltando à página da phplogon, selecione para exibir as entradas de hoje. Devemos ver nossas entradas de syslog. Limpando e Migrando Configurações Antigas Depois de instalar o rsyslog RPM, também tive que executar algumas limpezas e migrações, por exemplo: Como agora estava usando /etc/logrotate. d/rsyslog em vez de /etc/logrotate. d/syslog, eu migrei Minhas configurações em /etc/logrotate. d/syslog para /etc/logrotate. d/rsyslog, então: caso contrário logrotate irá produzir um erro noturno sobre esse arquivo rpmsave existente nesse diretório e sendo ignorado. Observação: como o script /etc/init. d/syslog stopstart não existe mais, e ainda tenho um software que procura especificamente esse script stopstart, também criei um link de /etc/init. d/syslog para / etc / init. d / rsyslog usando: Registrando apenas entradas maillog Meu objetivo para usar rsyslog não era registrar nada de qualquer nível de qualquer servidor. Fazer isso faria com que o banco de dados MySQL central crescesse tão grande e ficasse cheio de informações desnecessárias, fazendo com que a equipe de suporte desperdiçasse tempo procurando itens que não tinham relevância para eles. Para as minhas necessidades, estou apenas interessado nas entradas maillog, então eu mudei a entrada em /etc/rsyslog. conf de: (que registra todos maillog e emerg) e reiniciado rsyslog com: Manutenção do banco de dados MySQL Felizmente, os desenvolvedores rsyslog são muito Responsivo e apreciativo de contribuições de pessoas como eu. Devido a esses desenvolvedores, seus projetos como este eu adoro trabalhar e contribuir para. Com 6 servidores de correio funcionando e registrando em um servidor MySQL central, depois de apenas 5 dias eu tinha bem mais de 119.000 linhas registradas, o que reduz dramaticamente o acesso à web para o banco de dados. Eu não tenho um requisito para manter maillog entradas por mais de uma semana, permitindo que o banco de dados também manter mais de 7 dias de entradas é desnecessário. No tarball rsyslog dentro do diretório contrib, existe um script de manutenção do MySQL chamado deletemysql. Este script não exclui MySQL, mas prune as tabelas MySQL para você, então você deve modificar este script para adicionar seu nome de banco de dados, nome de usuário, etc e usá-lo via cron para podar e otimizar seu banco de dados periodicamente. Mudanças no rsyslog v1.19.0 e acima A partir do rsyslog versão v1.19.0, o MySQL é agora um plugin para que os arquivos de especificação rsyslogv1.19.0 (e acima) agora produzem dois RPMs, a saber: que você precisa instalar consecutivamente. Obviamente, o rsyslog-mysql RPM fornece apenas as bibliotecas para rsyslog com o mysql habilitado. Depois de instalar os dois RPMs, é necessário modificar o arquivo /etc/rsyslog. conf para adicionar a opção: na parte superior do arquivo ou acima da entrada que envia as informações do rsyslog para o servidor MySQL. Sobre o autor Eu tenho usado o Linux no administrador e hospedagem (web e hospedagem dedicada) desde 1994, desde os primeiros dias de Yggdrasil, Slackware, Debian, Red Hat e agora para Scientific Linux1. Minha distribuição preferida. Ive trabalhou para várias empresas ao longo dos anos principalmente como um Senior UNIX Administrador apoiando médio a grandes ambientes UNIX, único servidor ou agrupados com Linux, Tru64 UNIX, Solaris e HP-UX. Ao longo dos anos Ive também contribuiu com meu tempo e esforços em muitos projetos Open Source, incluindo linuxha2. Squid3. Webmin4. Virtualmin GPL5. Virtualmin Pro6. Webminstats7 (e vários outros módulos Webmin), smartmontools8. Clusterssh9. BlockHosts10. Brim11. Kimai12. DCC13. OpenWebmail14. Mrepo15. Whichcd16. Rkhunter17. Csync218. Drbdlinks19. Vários módulos perl, Scientific Linux20. Etc e agora rsyslog21 e phpLogCon22. Estou usando o rsyslog para vários servidores em um ambiente de hospedagem que oferece hospedagem na Web, Webmail, nomes de domínio e soluções de varredura de e-mail (vírus, spam) para vários clientes. Links Adicionais Isso adiciona alguns links que são considerados úteis, mas ainda não foram fundidos no conteúdo do artigo principal: 3 etapas fáceis para começar Notícias recentes Sterling cai para um mínimo de 31 anos contra o dólar Opções Binárias Daily Review Por Barry Jenkins. 2017-10-05 O Instituto de Gestão de Abastecimento não-industrial índice nos EUA caiu em agosto para 51,4 de 55,5 em julho, a menor leitura desde fevereiro de 2010 levantando preocupações sobre a saúde geral da economia dos EUA e foi um fator contribuinte para a Federal Reserve não aumentar as taxas de juros em setembro. O índice de atividade de negócios caiu para 51,8 de 59,3 no mês anterior. Os pedidos novos caíram agudamente a 51.4 de 60.3 no mês precedente. Prevê-se que a actividade não-industrial chegue a 53.0 em Setembro. Monitorar o dólar para negociação de opções binárias. Leia mais Brexit preocupações Re-superfície Opções Binárias Daily Review Por Barry Jenkins. 2017-10-04 O PMI de construção no Reino Unido agora postou três leituras retas abaixo do importante nível 50, o que indica que o setor está em contração. A última leitura em agosto mostrou melhora com uma leitura de 49,2. Há pouca mudança esperada na leitura para setembro com uma leitura de 49,0 previsão. Monitorar o Pound para troca de Opções Binárias. Leia mais Bem-vindo ao MarketsWorld - Opções Binárias Licenciadas e Reguladas Trading MarketsWorld é o seu destino de negociação de opções binárias online. Licenciado e regulamentado na Ilha de Man, Grã-Bretanha, garante a segurança de sua conta para que você saiba que seus depósitos e quaisquer ganhos são garantidos. Oferecendo forex, índices e commodities de negociação com os pagamentos mais altos na indústria de opções binárias de até 90 por comércio e os melhores bônus indiscutível e programa de incentivos, há em opções binárias on-line e apostas financeiras. MarketsWorld tem o menor depósito mínimo de apenas 10. Nós também fornecemos acesso a todos os clientes ilimitadas contas demo totalmente gratuito. Veja por que a plataforma de opções binárias licenciada e regulamentada da MarketsWorld britânica é a marca em que você pode confiar. O mundo é Yourslogrotate (8) - Linux man page Descrição logrotate é projetado para facilitar a administração de sistemas que geram um grande número de arquivos de log. Ele permite rotação automática, compressão, remoção e envio de arquivos de log. Cada arquivo de log pode ser tratado diariamente, semanalmente, mensalmente ou quando cresce muito grande. Normalmente, logrotate é executado como um trabalho cron diário. Ele não irá modificar um log várias vezes em um dia, a menos que o critério para esse log é baseado no tamanho logs e logrotate está sendo executado várias vezes por dia, ou a menos que a opção - f ou --force é usado. Qualquer número de arquivos de configuração pode ser dado na linha de comando. Arquivos de configuração mais tarde podem substituir as opções dadas em arquivos anteriores, portanto, a ordem em que os arquivos de configuração logrotate estão listados é importante. Normalmente, um único arquivo de configuração que inclui quaisquer outros arquivos de configuração que são necessários deve ser usado. Veja abaixo para obter mais informações sobre como usar a diretiva include para realizar isso. Se um diretório for fornecido na linha de comando, todos os arquivos desse diretório serão usados ​​como um arquivo de configuração. Se nenhum argumento de linha de comando for dado, o logrotate imprimirá informações de versão e de copyright, junto com um resumo de uso curto. Se ocorrerem erros ao girar logs, logrotate sairá com status diferente de zero. Opções - d, --debug Ativa o modo de depuração e implica - v. No modo de depuração, nenhuma alteração será feita nos logs ou no arquivo de estado logrotate. - f. --force Indica logrotate para forçar a rotação, mesmo se ele não acha que isso é necessário. Às vezes, isso é útil depois de adicionar novas entradas a um arquivo de configuração de logrotate ou se arquivos de log antigos foram removidos manualmente, à medida que os novos arquivos serão criados eo registro continuará corretamente. - m. --mail ltcommandgt Diz ao logrotate qual comando usar quando enviar logs. Este comando deve aceitar dois argumentos: 1) o assunto da mensagem, e 2) o destinatário. O comando deve ler uma mensagem na entrada padrão e enviá-la para o destinatário. O comando de email padrão é / bin / mail - s. - s, --state ltstatefilegt Informa ao logrotate para usar um arquivo de estado alternativo. Isso é útil se logrotate está sendo executado como um usuário diferente para vários conjuntos de arquivos de log. O arquivo de estado padrão é /var/lib/logrotate. status. --usage Imprime uma mensagem de uso curto. - benzóico. --help - Prints mensagem de ajuda. - v. --verbose Ativa o modo verboso. Arquivo de configuração logrotate lê tudo sobre os arquivos de log que deve ser manipulação a partir da série de arquivos de configuração especificados na linha de comando. Cada arquivo de configuração pode definir opções globais (as definições locais substituem as globais, e as definições posteriores substituem as anteriores) e especificar os arquivos de log a girar. Um arquivo de configuração simples tem esta aparência: As primeiras linhas definem opções globais no exemplo, os logs são compactados após serem girados. Observe que os comentários podem aparecer em qualquer lugar no arquivo de configuração, desde que o primeiro caractere não-espaço em branco na linha seja a. A próxima seção dos arquivos de configuração definiu como lidar com o arquivo de log / var / log / messages. O log passará por cinco rotações semanais antes de ser removido. Depois que o arquivo de log foi girado (mas antes que a versão antiga do log tenha sido compactada), o comando / sbin / killall - HUP syslogd será executado. A próxima seção define os parâmetros para /var/log/httpd/access. log e /var/log/httpd/error. log. Eles são girados sempre que cresce mais de 100k de tamanho, e os arquivos de logs antigos são enviados (uncompressed) para wwwmy. org depois de passar por 5 rotações, em vez de serem removidos. O sharedscripts significa que o script postrotate só será executado uma vez (depois que os logs antigos foram compactados), não uma vez para cada log que é girado. Observe que as aspas duplas em torno do primeiro nome de arquivo no início desta seção permitem logrotate para girar logs com espaços no nome. As regras normais de cotação de shell aplicam-se, com,, e caracteres suportados. A última seção define os parâmetros para todos os arquivos em / var / log / news. Cada arquivo é rodado em uma base mensal. Isso é considerado uma diretiva de rotação única e se ocorrerem erros para mais de um arquivo, os arquivos de log não são compactados. Por favor, use curingas com cautela. Se você especificar, logrotate irá girar todos os arquivos, incluindo os girados anteriormente. Uma maneira de contornar isso é usar a diretiva olddir ou um curinga mais exato (como. log). Aqui estão mais informações sobre as diretrizes que podem ser incluídas em um arquivo de configuração de logrotate: compress As versões antigas de arquivos de log são compactadas com gzip (1) por padrão. Consulte também nocompress. Compresscmd Especifica qual comando usar para compactar arquivos de log. O padrão é gzip. Veja também compress. Uncompresscmd Especifica qual comando usar para descompactar arquivos de log. O padrão é gunzip. Compressext Especifica qual extensão usar em arquivos de log compactados, se a compactação estiver ativada. O padrão segue o comando de compressão configurado. Compressoptions Opções de linha de comando podem ser passadas para o programa de compactação, se um estiver em uso. O padrão, para gzip (1), é -9 (compressão máxima). Copy Faça uma cópia do arquivo de log, mas não mude o original. Essa opção pode ser usada, por exemplo, para fazer um instantâneo do arquivo de log atual ou quando algum outro utilitário precisar truncar ou analisar o arquivo. Quando esta opção é usada, a opção de criação não terá efeito, como o arquivo de log antigo permanece no local. Copytruncate Truncar o arquivo de log original no local depois de criar uma cópia, em vez de mover o arquivo de log antigo e, opcionalmente, criar um novo. Ele pode ser usado quando algum programa não pode ser dito para fechar seu logfile e, portanto, pode continuar escrevendo (anexando) para o arquivo de log anterior para sempre. Observe que há uma fatia de tempo muito pequena entre copiar o arquivo e truncá-lo, para que alguns dados de log possam ser perdidos. Quando esta opção é usada, a opção de criação não terá efeito, como o arquivo de log antigo permanece no local. Criar grupo de proprietários de modo Imediatamente após a rotação (antes do script postrotate ser executado) o arquivo de log é criado (com o mesmo nome que o arquivo de log apenas girado). Mode especifica o modo para o arquivo de log em octal (o mesmo que chmod (2)), owner especifica o nome de usuário que será o proprietário do arquivo de log eo grupo especifica o grupo ao qual o arquivo de log pertence. Qualquer um dos atributos de arquivo de log pode ser omitido, caso em que os atributos para o novo arquivo usará os mesmos valores como o arquivo de log original para os atributos omitidos. Esta opção pode ser desabilitada usando a opção nocreate. Diariamente Os arquivos de log são girados todos os dias. Dateext Arquive versões antigas de arquivos de log adicionando uma extensão diária como AAAAMMDD em vez de simplesmente adicionar um número. A extensão pode ser configurada usando a opção dateformat. Dateformat formatstring Especifique a extensão para dateext usando a notação semelhante à função strftime (3). Somente os especificadores Y m e s são permitidos. O valor padrão é - Ymd. Observe que também o caractere que separa o nome do log da extensão é parte da seqüência de caracteres dateformat. O relógio do sistema deve ser definido após Sep 9th 2001 para s para funcionar corretamente. Observe que as datastamps geradas por este formato devem ser lexicamente classificáveis ​​(ou seja, primeiro o ano, em seguida, o mês, em seguida, o dia, por exemplo, 2001/12/01 é ok, mas 01/12/2001 não é, desde 01/11/2002 seria Classificar mais baixo enquanto é mais tarde). Isso ocorre porque, ao usar a opção girar, logrotate classifica todos os nomes de arquivos girados para descobrir quais arquivos de log são mais antigos e devem ser removidos. Delaycompress Adiar a compressão do arquivo de log anterior para o próximo ciclo de rotação. Isso só tem efeito quando usado em combinação com compress. Ele pode ser usado quando algum programa não pode ser informado para fechar seu arquivo de log e assim continuar escrevendo no arquivo de log anterior por algum tempo. Extensão ext Os arquivos de log com extensão ext podem mantê-lo após a rotação. Se a compressão é usada, a extensão de compressão (normalmente. gz) aparece após ext. Por exemplo, você tem um arquivo de log chamado mylog. foo e deseja rodá-lo para mylog.1.foo. gz em vez de mylog. foo.1.gz. Ifempty Roda o arquivo de log mesmo se ele estiver vazio, substituindo a opção notifempty (ifempty é o padrão). Include fileordirectory Lê o arquivo dado como um argumento como se ele foi incluído inline onde a diretiva include é exibida. Se for dado um diretório, a maioria dos arquivos nesse diretório são lidos em ordem alfabética antes do processamento do arquivo incluído continuar. Os únicos arquivos que são ignorados são arquivos que não são arquivos regulares (como diretórios e pipes nomeados) e arquivos cujos nomes terminam com uma das extensões tabu, conforme especificado pela diretiva tabooext. A diretiva include pode não aparecer dentro de uma definição de arquivo de log. Mail Quando um log é girado fora de existência, é enviado para endereço. Se nenhum correio deve ser gerado por um log específico, a diretiva nomail pode ser usada. Mailfirst Ao usar o comando mail, envie o arquivo apenas girado, em vez do arquivo about-to-expire. Maillast Ao usar o comando mail, envie o arquivo about-to-expire, em vez do arquivo apenas girado (este é o padrão). Maxage count Remover registros girados mais antigos do que ltcountgt dias. A idade só é verificada se o arquivo de log deve ser girado. Os arquivos são enviados para o endereço configurado se maillast e correio são configurados. Tamanho mínimo Os arquivos de log são girados quando crescem maiores que os bytes de tamanho, mas não antes do intervalo de tempo adicionalmente especificado (diário, semanal, mensal ou anual). A opção de tamanho relacionado é semelhante, exceto que é mutuamente exclusiva com as opções de intervalo de tempo e faz com que os arquivos de log sejam girados sem considerar o último tempo de rotação. Quando minsize é usado, tanto o tamanho e timestamp de um arquivo de log são considerados. Missingok Se o arquivo de log estiver ausente, vá para o próximo sem emitir uma mensagem de erro. Veja também nomissingok. Os arquivos de registro mensais são girados na primeira vez em que o logrotate é executado em um mês (normalmente, este é o primeiro dia do mês). Nocompress Versões antigas de arquivos de log não são compactadas. Veja também compress. Nocopy Não copie o arquivo de log original e deixe-o no lugar. (Isso substitui a opção de cópia). Nocopytruncate Não truncar o arquivo de log original no local depois de criar uma cópia (isso substitui a opção copytruncate). Nocreate Novos arquivos de log não são criados (isso substitui a opção create). Nodelaycompress Não adiar a compactação do arquivo de log anterior para o próximo ciclo de rotação (isso substitui a opção delaycompress). Nodateext Não arquive versões antigas de arquivos de log com extensão de data (isso substitui a opção dateext). Nomail Não enviar arquivos de log antigos para qualquer endereço. Nomissingok Se um arquivo de log não existir, emita um erro. Esse é o padrão. Noolddir Os logs são girados no mesmo diretório no qual o log normalmente reside (isso substitui a opção olddir). Nosharedscripts Execute os scripts prerotate e postrotate para cada arquivo de log que é girado (este é o padrão e substitui a opção sharedscripts). O caminho absoluto para o arquivo de log é passado como primeiro argumento para o script. Se os scripts sairem com erro, as ações restantes não serão executadas apenas para o log afetado. Noshred Não use shred ao excluir arquivos de log antigos. Veja também shred. Notifempty Não gire o log se estiver vazio (isso substitui a opção ifempty). Olddir directory Os logs são movidos para o diretório para rotação. O diretório deve estar no mesmo dispositivo físico que o arquivo de log sendo girado e é assumido como relativo ao diretório que contém o arquivo de log, a menos que um nome de caminho absoluto seja especificado. Quando esta opção é usada, todas as versões antigas do log terminam no diretório. Esta opção pode ser substituída pela opção noolddir. Postrotate / endscript As linhas entre postrotate e endscript (as quais devem aparecer nas linhas por si mesmas) são executadas (usando / bin / sh) depois que o arquivo de log é girado. Essas diretivas só podem aparecer dentro de uma definição de arquivo de log. Normalmente, o caminho absoluto para o arquivo de log é passado como primeiro argumento para o script. Se sharedscripts for especificado, todo o padrão será passado para o script. Veja também prerotate. Consulte sharedscripts e nosharedscripts para tratamento de erros. Prerotate / endscript As linhas entre prerotate e endscript (as quais devem aparecer nas linhas por si mesmas) são executadas (usando / bin / sh) antes que o arquivo de log seja girado e somente se o log realmente for girado. Essas diretivas só podem aparecer dentro de uma definição de arquivo de log. Normalmente, o caminho absoluto para o arquivo de log é passado como primeiro argumento para o script. Se sharedscripts for especificado, todo o padrão será passado para o script. Veja também postrotate. Consulte sharedscripts e nosharedscripts para tratamento de erros. Firstaction / endscript As linhas entre firstaction e endscript são executadas (usando / bin / sh) uma vez antes que todos os arquivos de log que correspondam ao padrão wildcarded sejam rodados antes que o script prerotate seja executado e somente se Pelo menos um log será realmente girado. Essas diretivas só podem aparecer dentro de uma definição de arquivo de log. Todo o padrão é passado para o script como primeiro argumento. Se o script sai com erro, nenhum processamento adicional é feito. Veja também lastaction. Lastaction / endscript As linhas entre lastaction e endscript são executadas (usando / bin / sh) uma vez que todos os arquivos de log correspondentes ao padrão de caracteres curtos são rodados, após o script postrotate ser executado e somente se Pelo menos um log é rodado. Essas diretivas só podem aparecer dentro de uma definição de arquivo de log. Todo o padrão é passado para o script como primeiro argumento. Se o script sair com erro, apenas uma mensagem de erro é mostrada (como esta é a última ação). Veja também firstaction. Rotate count Os arquivos de log são tempos de contagem de rotação antes de serem removidos ou enviados para o endereço especificado em uma diretiva de email. Se count for 0, versões antigas serão removidas em vez de giradas. Tamanho de tamanho Os arquivos de log são girados somente se eles crescem maiores então tamanho bytes. Se o tamanho é seguido por k. O tamanho é assumido em quilobytes. Se o M é usado, o tamanho é em megabytes, e se G é usado, o tamanho está em gigabytes. Então tamanho 100. Tamanho 100k. Tamanho 100M e tamanho 100Gare todos válidos. sharedscripts Normally, prerotate and postrotate scripts are run for each log which is rotated and the absolute path to the log file is passed as first argument to the script. That means a single script may be run multiple times for log file entries which match multiple files (such as the /var/log/news/ example). If sharedscripts is specified, the scripts are only run once, no matter how many logs match the wildcarded pattern, and whole pattern is passed to them. However, if none of the logs in the pattern require rotating, the scripts will not be run at all. If the scripts exit with error, the remaining actions will not be executed for any logs. This option overrides the nosharedscripts option and implies create option. shred Delete log files using shred - u instead of unlink(). This should ensure that logs are not readable after their scheduled deletion this is off by default. See also noshred . shredcycles count Asks GNU shred (1) to overwite log files count times before deletion. Without this option, shred s default will be used. start count This is the number to use as the base for rotation. For example, if you specify 0, the logs will be created with a .0 extension as they are rotated from the original log files. If you specify 9, log files will be created with a .9, skipping 0-8. Files will still be rotated the number of times specified with the count directive. tabooext list The current taboo extension list is changed (see the include directive for information on the taboo extensions). If a precedes the list of extensions, the current taboo extension list is augmented, otherwise it is replaced. At startup, the taboo extension list contains. rpmorig. rpmsave. v. swp. rpmnew, cfsaved and. rhn-cfg-tmp-. weekly Log files are rotated if the current weekday is less than the weekday of the last rotation or if more than a week has passed since the last rotation. This is normally the same as rotating logs on the first day of the week, but it works better if logrotate is not run every night. Log files are rotated if the current year is not the same as the last rotation. Files Default state file. See Also

No comments:

Post a Comment