Há algumas extensões que o Sony Vegas não lê, para isso instale o Instale o K-lite Mega Codec Pack 294 (64bits. O de 64 bits é para o vegas 64 e o de 32 para o vegas 32 bits.
Download
http://pt.kioskea.net/?ID=2817&module=download#q=K-Lite+Codec+Pack+64-bit&cur=1&url=/
Sirvo ao Deus Criador dos céus e da terra, em nome de Jesus Cristo. Por isso, tudo o que sou e que tenho vem dEle. Esse BLOG visa compartilhar experiências e ensinamentos que vivi
segunda-feira, 31 de outubro de 2011
Não endureçais o vosso coração!
Hebreus 3.7-11
Nosso coração e nossas vontades são diferentes das de Deus. O morrer para si e viver para Cristo é abdicar de nossa vontade natural e optar pela vontade espiritual de Deus. Quantas circunstâncias e situações passamos diariamente e muitas são as que nos desagradam e nos causam desconforto. Desde cedo, em nossas vidas, praticamos coisas que não nos dão prazer: acordar cedo para ir a escola ou trabalho, cumprir horário, evitar ingerir alimentos que não prejudiquem nossa saúde, pedir perdão, liberar perdão, etc.
Em cada um destes desconfortos praticados geram em nós a percepção de que é impossível fazer a nossa perfeita vontade. O problema é que somos teimosos e sempre quando nos deparamos com alguma situação desfavorável acabamos por insistir em impor nosso querer e isso causa mais dor e mais situações desfavoráveis. Essa resistência é a verdadeira causa do sofrimento e não o problema em si. Porém, há uma observação a ser feita: Devemos RESISTIR a vontade do mundo e ao desejo pessoal que nos conduz para o mundo. Nisto também devemos SER SUBMISSOS a vontade de Deus nos abrindo para a sua vontade perfeita e alimentar nossos desejos que concordem com sua palavra.
Nesta passagem de referência vê-se que o exemplo dado foi o do povo de Israel no deserto, logo após a saída do Egito. Neste deserto Deus agiu de várias formas e eles endureceram seus corações para o querer de Deus, resistiram-no em quase todo o tempo. Deus proveu e os supriu em tudo, porém eles preferiram o querer humano do que a vontade de Deus. Preferiram fazer o que lhes parecia bom aos olhos, ao invés de obedecer o que a palavra de Deus os estava dizendo. Qual foi o resultado? sofrimento, dores, decepções, etc. O pior de tudo é ver que não reconheceram a insensatez daquelas escolhas e atos errados.
Não há como andar em Fé sem praticá-la de TODO o coração. Há muitos que profeçam a Fé Cristã, mas não creem de coração no que dizem crer. Basta uma situação que afronte sua vontade carnal e humana para abandonarem seu compromisso com Cristo. Ir a igreja, orar, jejuar, falar de Deus NÃO IMPLICA em obediência, implica sim e desencargo de consciência, implica em uma atividade politicamente correta diante das demais pessoas que convivem conosco na igreja. Somente quando estamos sendo provados, quando todos te abandonam, e apesar disso você se mantém firme em Cristo podemos saber onde está nosso coração.
Deus quer o nosso coração completamente, não basta agirmos corretamente, não basta desejarmos fazer o certo, não basta falarmos o correto, NÃO BASTA termos boas intenções, É PRECISO MORRER PARA A VONTADE PRÓPRIA. Não temos outra opção, pois chegará o dia em que nos depararemos em situações que nos imporão covardemente a fazer o que não desejamos. A perda de um ente querido, uma doênça incurável, a falência, uma tragédia, etc.
A vida é dura demais para os que a acham fácil, mas superável para os que a encaram como um grande desafio.
Tenha uma semana abençoada em Cristo!
Nosso coração e nossas vontades são diferentes das de Deus. O morrer para si e viver para Cristo é abdicar de nossa vontade natural e optar pela vontade espiritual de Deus. Quantas circunstâncias e situações passamos diariamente e muitas são as que nos desagradam e nos causam desconforto. Desde cedo, em nossas vidas, praticamos coisas que não nos dão prazer: acordar cedo para ir a escola ou trabalho, cumprir horário, evitar ingerir alimentos que não prejudiquem nossa saúde, pedir perdão, liberar perdão, etc.
Em cada um destes desconfortos praticados geram em nós a percepção de que é impossível fazer a nossa perfeita vontade. O problema é que somos teimosos e sempre quando nos deparamos com alguma situação desfavorável acabamos por insistir em impor nosso querer e isso causa mais dor e mais situações desfavoráveis. Essa resistência é a verdadeira causa do sofrimento e não o problema em si. Porém, há uma observação a ser feita: Devemos RESISTIR a vontade do mundo e ao desejo pessoal que nos conduz para o mundo. Nisto também devemos SER SUBMISSOS a vontade de Deus nos abrindo para a sua vontade perfeita e alimentar nossos desejos que concordem com sua palavra.
Nesta passagem de referência vê-se que o exemplo dado foi o do povo de Israel no deserto, logo após a saída do Egito. Neste deserto Deus agiu de várias formas e eles endureceram seus corações para o querer de Deus, resistiram-no em quase todo o tempo. Deus proveu e os supriu em tudo, porém eles preferiram o querer humano do que a vontade de Deus. Preferiram fazer o que lhes parecia bom aos olhos, ao invés de obedecer o que a palavra de Deus os estava dizendo. Qual foi o resultado? sofrimento, dores, decepções, etc. O pior de tudo é ver que não reconheceram a insensatez daquelas escolhas e atos errados.
Não há como andar em Fé sem praticá-la de TODO o coração. Há muitos que profeçam a Fé Cristã, mas não creem de coração no que dizem crer. Basta uma situação que afronte sua vontade carnal e humana para abandonarem seu compromisso com Cristo. Ir a igreja, orar, jejuar, falar de Deus NÃO IMPLICA em obediência, implica sim e desencargo de consciência, implica em uma atividade politicamente correta diante das demais pessoas que convivem conosco na igreja. Somente quando estamos sendo provados, quando todos te abandonam, e apesar disso você se mantém firme em Cristo podemos saber onde está nosso coração.
Deus quer o nosso coração completamente, não basta agirmos corretamente, não basta desejarmos fazer o certo, não basta falarmos o correto, NÃO BASTA termos boas intenções, É PRECISO MORRER PARA A VONTADE PRÓPRIA. Não temos outra opção, pois chegará o dia em que nos depararemos em situações que nos imporão covardemente a fazer o que não desejamos. A perda de um ente querido, uma doênça incurável, a falência, uma tragédia, etc.
A vida é dura demais para os que a acham fácil, mas superável para os que a encaram como um grande desafio.
Tenha uma semana abençoada em Cristo!
quinta-feira, 27 de outubro de 2011
PAM
PAM é a parte principal da autenticação em um sistema Linux. PAM significa Pluggable Authentication Modules, ou Módulos de Autenticação Plugáveis/Modulares.
Originalmente a autenticação no Linux era apenas via senhas criptografadas armazenadas em um arquivo local chamado /etc/passwd. Um programa como o login pedia o nome do usuário e a senha, criptografava a senha e comparava o resultado com o armazenado naquele arquivo. Se fossem iguais, garantia o acesso à máquina. Caso contrário, retornava erro de autenticação. Isto até funciona muito bem para o programa login, mas, digamos que agora eu queira usar isso também para autenticação remota. Ou seja, a base de usuários não está mais na mesma máquina, mas sim em alguma outra máquina da rede, o chamado servidor de autenticação. Teremos que mudar o programa login para que ele também suporte esse tipo de autenticação remota.
Surgiu um novo algoritmo de criptografia, muito mais avançado, mais rápido, criptografa melhor, etc. Queremos usar esse novo algoritmo. Claro que teremos que mudar novamente o programa login para que ele suporte este novo algoritmo também. No Linux, muitos programas utilizam algum tipo de autenticação de usuários. Imagine se todos eles tivessem que ser reescritos cada vez que se mudasse algum dos critérios de autenticação.
Para resolver este tipo de problema, a Sun® criou o PAM há alguns anos e liberou as especificações em forma de RFC. O Linux derivou sua implementação do PAM a partir deste documento. Com PAM, o aplicativo login deste exemplo teria que ser reescrito apenas uma vez, justamente para suportar PAM. A partir de então, o aplicativo delega a responsabilidade da autenticação para o PAM e não se envolve mais com isso.
Voltando ao exemplo anterior, no caso de se querer utilizar um outro algoritmo de criptografia para as senhas, basta que o módulo PAM seja modificado para que todos os aplicativos automaticamente e de forma transparente passem a usufruir desta nova forma de autenticação. PAM possui uma outra vantagem: é possível configurar a autenticação de forma individual para cada aplicativo. Com isto é possível fazer com que, por exemplo, um usuário comum possa usar os dispositivos de áudio do computador desde que tenha se logado na máquina através do console. Se o login não tiver sido feito no console (por exemplo, é um login remoto via ssh), este tipo de acesso ao hardware será negado. Será que os programas login ou ssh sabem alguma coisa sobre o dispositivo de áudio da máquina? É claro que não. Eles não precisam. Os módulos PAM se encarregam disso.
Na verdade, PAM vai um pouco além da autenticação. Os módulos podem ser divididos em quatro tipos:
- auth:
- É a parte que verifica que o usuário é realmente quem ele diz que é. Pode ser bem simples, pedindo apenas por um nome e uma senha, ou utilizando autenticação biométrica, por exemplo (como uma impressão de voz, uma imagem da retina ou impressão digital).
- account:
- Esta parte verifica se o usuário em questão está autorizado a utilizar este serviço ao qual ele está se autenticando. Os módulos aqui podem checar por horário, dia da semana, origem do login, login simultâneo, etc.
- passwd:
- Este serviço é usado quando se deseja mudar a senha. Por exemplo, aqui podem ser colocados módulos que verificam se a senha é forte ou fraca.
- session:
- Por fim, a parte session fica encarregada de fazer o que for necessário para criar o ambiente do usuário. Por exemplo, fornecer o acesso a alguns dispositivos locais como o de áudio ou cdrom, montar sistemas de arquivos ou simplesmente fazer o registro do evento nos arquivos de log do sistema.
Um módulo PAM pode ou não conter todas estas funções. O módulo pam_pwdb, por exemplo, pode ser usado nestes quatro tipos e possui ações diferentes em cada uma das situações, enquanto que pam_console é normalmente usado apenas como session.
segunda-feira, 24 de outubro de 2011
O SIGNIFICADO DE PENIEL - extraído de : http://marcelofuzaro.multiply.com/journal/item/224/224
O SIGNIFICADO DE PENIEL
Alguns podem perguntar: “Qual é o significado de Peniel? Como pode o Peniel de Jacó ser aplicado a nós?” Podemos responder assim: Você pode ter uma disposição obstinada, que tem dominado a sua vida. Essa disposição tem-se tornado o princípio de sua vida e o terreno para o alojamento de sua vida natural. Em momentos normais, você não percebe isso. Mas Deus arranja muitas oportunidades nas quais essa força natural é exposta uma, duas, dez vezes, ou mesmo cem vezes. Contudo, você ainda está despercebido dela. Um dia, ao cruzar Jaboque, você terá esgotado sua habilidade e o verdadeiro apoio de sua vida natural será exposto. Nessa hora, a mão de Deus tocará em você e lhe mostrará onde sua força natural reside. Você perceberá sua mais feia, maligna e vergonhosa disposição. Aquilo que você se orgulhava, aquilo em que se gloriava e de onde tirava satisfação, e o que considerava excelente e superior está agora sob o iluminar da luz de Deus e descobre-se que nada mais é do que a vida carnal, a qual é vergonhosa, corrupta e desprezível. A luz matou você. Este é o significado de Peniel. Deus mostra-lhe que as coisas das quais se orgulhava, considerava admiráveis, e que o distinguia dos outros são a própria expressão da vida carnal. Quando Deus toca a sua vida deste modo, você fica fraco. Este é o significado de Peniel.
A sua força natural precisa ser tratada pelo Senhor. Mas antes de ver a luz, você considera esta força algo precioso e digno de ostentação. Irmãos e irmãs, vocês devem ter cuidado com sua ostentação. A força da vida natural está escondida na ostentação de muitos cristãos. É difícil encontrar um cristão que não tenha sua vida natural oculta atrás do seu orgulho. Portanto, você deve ser particularmente cuidadoso com o seu orgulho. As coisas das quais você se orgulha são frequentemente as coisas com as quais Deus tratará. Talvez justamente essas coisas sejam a articulação da sua coxa. Deus brilhará sobre você e tocará a articulação da sua coxa. Quando Ele tocar neste ponto, você ficará muito envergonhado e dirá: “Todos os que conhecem um pouco sobre experiência de Peniel, podem testificar que, quando Deus toca a articulação da coxa, eles ficam não somente fracos, mas envergonhados. Eles exclamam: “Como pude ser tão tolo? Eu achava que isto e aquilo era bom. Na verdade, eram coisas vergonhosas!” Eles sentem que são as pessoas mais horríveis diante do Senhor. Irmãos e irmãs, uma vez que Deus toque em você, você verá que tudo o que fez antes foi horrível. Você ficará admirado de como pôde ter considerado aquilo como sua glória e suas virtudes, e como pôde ter considerado, os outros inferiores a você! Quando isto acontece, Deus tocou em você.
O nome Peniel significa “a face de Deus” na língua original. A face de Deus é a luz de Deus. No passado, Deus tocou a articulação da coxa de Jacó com Sua mão. Hoje Ele está tocando na nossa vida natural com Sua luz. Uma vez que formos iluminados pela luz de Deus, nós perceberemos que as coisas que considerávamos boas, gloriosas e excelentes são coisas vergonhosas e tolas. Essa luz nos dará um golpe mortal e tirará toda nossa força.
Irmãos e irmãs, um dia teremos de passar por Peniel. Deus precisa tocar na nossa vida natural para que possamos tornar-nos pessoas úteis em Suas mãos. Chegará o dia em que passaremos por tal experiência. Certamente, não podemos encomendar-nos ao fiel Criador e orar para que Ele trabalhe coisas em nosso ambiente e nos conduza à percepção de que nosso orgulho é apenas nossa vergonha e tolice. Que o Senhor seja misericordioso para conosco e nos dê luz, para que Sua obra seja realizada em nós através do iluminar de Peniel – a face de Deus.
(O DEUS DE ABRAÃO, ISAQUE E JACÓ – W.N.)
sexta-feira, 21 de outubro de 2011
Rota estática no RedHat
No diretório /etc/sysconfig/network-scripts/ são armazenados o script que criarão as rotas para o servidor.
O arquivo terá o nome route-eth0 ou route-eth1
Exemplo de um route-eth0
GATEWAY1=10.x.x.x
NETMASK1=255.255.0.0
ADDRESS1=10.x.x.x
GATEWAY0=10.x.x.x
NETMASK0=255.255.255.192
ADDRESS0=10.x.x.x
O arquivo route-eth? substitui o comando route-add. Quando se usa o comando a rota é perdida ao se reiniciar o sistema operacional, por isso usa-se o script route-eth?
A rota pode ser para um HOST específico ou para uma REDE.
O arquivo terá o nome route-eth0 ou route-eth1
Exemplo de um route-eth0
GATEWAY1=10.x.x.x
NETMASK1=255.255.0.0
ADDRESS1=10.x.x.x
GATEWAY0=10.x.x.x
NETMASK0=255.255.255.192
ADDRESS0=10.x.x.x
O arquivo route-eth? substitui o comando route-add. Quando se usa o comando a rota é perdida ao se reiniciar o sistema operacional, por isso usa-se o script route-eth?
A rota pode ser para um HOST específico ou para uma REDE.
terça-feira, 18 de outubro de 2011
Comandos chattr e lsattr
Os comandos chattr e lsattr servem para incrementar segurança no arquivo ou diretório, o comando chattr usa atributos e não permissão como o chmod, esses atributos são extensões que proíbem que o arquivo seja alterado, removido e renomeado, esses atributos pode ser atribuídos para o dono do arquivo e até mesmo para o root. Abaixo será explicado a função de cada comando.
Opções:
# lsattr -d diretório
Inclui o atributo de imutabilidade no diretóriio
# chattr +i diretório
Tira o atributo de imutabilidade no diretório
# chattr -i diretório
Opções:
- -R - modifica atributos em subdiretórios.
- -V - Mostra detalhes sobre a modificação do atributo atributo:
atributos de arquivo / diretório
+ adiciona atributo
- remove atributo
= define o atributo igual especificado
# lsattr -d diretório
Inclui o atributo de imutabilidade no diretóriio
# chattr +i diretório
Tira o atributo de imutabilidade no diretório
# chattr -i diretório
Comando zdump
Este comando mostra a configuração do localtime da sua máquina
zdump -v /etc/localtime | grep 201[01]
Resultado do comando:
/etc/localtime Sun Oct 17 02:59:59 2010 UTC = Sat Oct 16 23:59:59 2010 BRT isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 17 03:00:00 2010 UTC = Sun Oct 17 01:00:00 2010 BRST isdst=1 gmtoff=-7200
/etc/localtime Sun Feb 20 01:59:59 2011 UTC = Sat Feb 19 23:59:59 2011 BRST isdst=1 gmtoff=-7200
/etc/localtime Sun Feb 20 02:00:00 2011 UTC = Sat Feb 19 23:00:00 2011 BRT isdst=0 gmtoff=-10800
zdump -v /etc/localtime | grep 201[01]
Resultado do comando:
/etc/localtime Sun Oct 17 02:59:59 2010 UTC = Sat Oct 16 23:59:59 2010 BRT isdst=0 gmtoff=-10800
/etc/localtime Sun Oct 17 03:00:00 2010 UTC = Sun Oct 17 01:00:00 2010 BRST isdst=1 gmtoff=-7200
/etc/localtime Sun Feb 20 01:59:59 2011 UTC = Sat Feb 19 23:59:59 2011 BRST isdst=1 gmtoff=-7200
/etc/localtime Sun Feb 20 02:00:00 2011 UTC = Sat Feb 19 23:00:00 2011 BRT isdst=0 gmtoff=-10800
ZIC - Compilador de Horário de Zona (Fuso Horário)
FONTE:
http://www.clevitonmendes.blogspot.com/2009/04/zic-compilador-de-horario-de-zona-fuso.html
Precisei gerar o arquivo localtime conforme instruções do bom tutorial do site da rede nacional de pesquisa (RNP) em http://www.rnp.br/cais/alertas/2008/cais-alr-20081003.html, que atendeu a minha necessidade. Contudo, achei necessário ler a página manual do comando ZIC que só encontrei em inglês. O resultado foi então essa versão em português.
Correções são muito bem-vindas!
ZIC(8) ZIC(8)
NOME
zic - time zone compiler – compilador de horário de zona (de fuso horário).
SINOPSIS
zic [ -v ] [ -d directory ] [ -l localtime ] [ -p posixrules ] [ -L leapsecondfilename ] [ -s ] [ -y command ] [ filename ... ]
DESCRIÇÃO
O programa zic lê o texto do(s) arquivo(s) denominado na linha de comando e cria arquivos de informação para a conversão de tempo especificado nessa entrada. Se um filename for substituído por‘-‘, então a entrada padrão é lida.
Essas opções estão disponíveis:
-d directory
Cria os arquivos de informação de conversão de tempo no diretório denominado em vez do diretório padrão denominado abaixo.
-l timezone
Usa o timezone (fuso horário) dado como tempo local. O comando zic vai agir como se a entrada contivesse uma linha link da forma:
Link timezone localtime
-p timezone
Usa as regras de timezones (fusos horários) quando manipulando variáveis de ambiente timezone no formato POSIX. O comando zic agirá como se a entrada contivesse uma linha link da forma:
Link timezone posixrules
-L leapsecondfilename
Lê a informação do Segundo de salto do arquivo com o nome dado. Se essa opção não for usada, nenhuma informação do segundo de salto aparecerá nos arquivos de saída.
-v Reclama se um year (ano) que aparece em um arquivo de dados está fora da faixa de anos representáveis por valores de time(2).
-s Limita valores de tempo armazenados nos arquivos de saída para valores que são os mesmos se eles forem tomados ser sinalizados ou não. Você pode usar essa opção para gerar arquivos compatíveis SVVS.
-y command
Usa o comando dado em vez de yearistype quando verificando tipo ano (veja a seguir).
As linhas de entrada são compostas de campos. Os campos são separados entre si por qualquer número de caracteres espaços em branco. Espaço em branco na cabeça e no rabo nas linhas de entrada é ignorado. Um caractere cerquilho (#) não entre aspa dupla na entrada introduz um comentário que expande até o final da linha que aparece o caractere cequilho. Caracteres espaço em branco e cerquilho (#) podem ser fechados entre aspas duplas (“”), se eles forem usados como parte de um campo. Qualquer linha que esteja em branco (após suprimir comentário) será ignorada. Linhas não em branco são esperadas ser uma de três tipos: linha de regras, linhas de zona e linhas de link.
Uma linha de regra (rule) tem a forma:
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Por exemplo:
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
Os campos que compõe uma linha de regra são:
NAME
Fornece o nome (arbitrário) do conjunto de regras da qual essa regra é parte.
FROM
Fornece o primeiro ano no qual a regra se aplica. Qualquer inteiro pode ser fornecido; o calendário Gregoriano é assumido. A palavra minimum (ou uma abreviação) significa que o ano mínimo que pode ser representado como um inteiro. A palavra maximum (ou uma abreviação) significa o ano máximo que pode ser representado como inteiro. As Regras podem descrever tempos que não são representáveis como valores de tempo, os tempos que não puderem ser representados serão ignorados; isso permite que as regras sejam portáveis entre hosts com tipos de valor de tempo diferentes.
TO
Fornece o ano final no qual a regra se aplica. Em adição as palavras minimum e maximum (como explicado acima), a palavra only (ou uma abreviação) pode ser usada para repetir o valor do campo FROM.
TYPE
Fornece o tipo de ano no qual a regra se aplica. Se TYPE for ‘-‘, então a regra se aplica em todos os anos entre FROM e TO inclusive. Se TYPE for algo diferente, então zic executa o comando yearistype tipo de ano para verificar o tipo de ano: um status de saída igual a zero é tomado para significar que o ano é do tipo dado; um status de saída 1 é tomado para significar que o ano não é do tipo fornecido.
IN
Nomeia o mês no qual a regra tem efeito. Nomes dos meses podem ser abreviados.
ON
Fornece o dia no qual a regra tomará efeito. Formas reconhecidas incluem:
5 | No quinto dia do mês. |
lastSun | No último Domingo do mês. |
lastMon | Na última Segunda do mês. |
Sun>=1 | No primeiro Domingo logo após ou igual ao dia primeiro do mês, ou seja, no primeiro Domingo do mês. |
Sun>=8 | No primeiro Domingo logo após o dia 8 ou igual ao oitavo dia do mês, ou seja, no segundo domingo do mês. |
Sun>=15 | No primeiro Domingo logo após o dia 15 ou igual ao décimo quinto dia do mês, ou seja, no terceiro domingo do mês. |
Sun>=22 | No primeiro Domingo logo após o dia 22 ou igual ao vigésimo segundo dia do mês, ou seja, no quarto domingo do mês. |
Sun<=25 | No último Domingo antes do dia 25 ou no domingo igual ao vigésimo quinto dia do mês. |
Nomes de dias da semana podem ser abreviados ou colocados completos. Observe que não pode haver nenhum espaço dentro do campo ON.
AT
Fornece a hora do dia na qual a regra toma efeito. Formas reconhecidas incluem:
2 | Tempo em horas. |
2:00 | Tempo em horas e minutos. |
15:00 | Tempo no formato 24-horas (para horário vespertino). |
1:28:14 | Tempo em horas, minutos, e segundos. |
Onde 0 hora é meia noite no começo do dia, e 24 horas é meia noite no final do dia. Qualquer dessas formas pode ser seguida pela letra w se a hora dada for à hora local “wall clock”, s se a hora dada for à hora local “Standard”, ou u (ou g ou z) se a hora dada for à hora do tempo universal; na ausência de um indicador, a hora do relógio local será assumido.
SAVE
Fornece a quantidade de tempo a ser adicionada à hora local padrão quando a regra tomar efeito. Esse campo tem o mesmo formato que o campo AT (embora, claro, os sufixos w e s não sejam usados).
LETTER/S
Fornece a "parte variável" (por exemplo, o "S" ou "D" em "EST" ou "EDT") das abreviações de timezone (fuso horário) a ser usado quando essa regra tomar efeito. Se esse campo for ‘-‘, a parte variável é nula.
Uma linha de zona (zone line) possui a forma:
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Por exemplo:
Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00
Os campos que compõem uma linha de zona são:
NAME
O nome do timezone (fuso horário). Esse é o nome usado na criação do arquivo de informação de conversão de tempo para o fuso horário.
GMTOFF
A quantidade de tempo a adicionar ao horário UTC para obter a hora padrão nessa zona (fuso). Esse campo possui o mesmo formato que o dos campos AT e SAVE das linhas de regra; inicie o campo com um sinal menos se a hora precisa ser subtraída do horário UTC.
RULES/SAVE
O nome da(s) regra(s) que se aplica no timezone (fuso horário) ou, alternativamente, uma quantidade de tempo a adicionar ao horário local padrão. Se esse campo for ‘-‘, então o horário padrão sempre se aplica nesse timezone (fuso horário).
FORMAT
O formato para abreviação de timezone (fuso horário) nesse fuso. O par de caracteres ‘%s’ é usado para mostrar onde entra a “parte variável” da abreviação do fuso horário. Alternativamente, uma barra (/) separa abreviações do horário padrão e do horário daylight.
UNTIL
O horário no qual o offset UTC ou a(s) regra(s) mudam para uma localização. É especificado como um ano, um mês, um dia, e uma hora do dia. Se isso for especificado, a informação de timezone (fuso horário) é gerada do offset UTC dado e a regra alterada até o tempo especificado. O mês, dia, e hora do dia possui o mesmo formato que o formato das colunas IN, ON, e AT de uma regra; colunas finais podem ser omitidas, e é padronizado com o valor mais antigo possível das colunas faltantes.
A linha seguinte precisa ser uma linha “continuação”; essa tem a mesma forma que de uma linha de zona exceto que a string “Zone” e o nome sejam omitidos, porque a linha continuação colocará a informação no início do tempo especificado como o campo UNTIL na linha anterior no arquivo usado pela linha anterior. Linhas de continuação podem conter um campo UNTIL, justamente como faz as linhas de zona, indica que a próxima linha é uma continuação adicional.
Uma linha link possui a forma:
Link LINK-FROM LINK-TO
Por exemplo:
Link Europe/Istanbul Asia/Istanbul
O campo LINK-FROM deve parecer igual ao campo NAME em toda linha de zona; o campo LINK-TO é usado como um nome alternativo para essa zona (fuso horário).
Exceto para linha de continuação, as linhas podem aparecer em qualquer ordem na entrada.
Linhas no arquivo que descrevem os segundos de salto têm a seguinte forma:
Leap YEAR MONTH DAY HH:MM:SS CORR R/S
Por exemplo:
Leap 1974 Dec 31 23:59:60 + S
Os campos YEAR, MONTH, DAY, e ‘HH:MM:SS’ informa quando o segundo de salto aconteceu. O campo CORR deve ser “+”, se um Segundo foi adicionado ou “-“ se um segundo foi saltado. O campo R/S deve ser (uma abreviação para) “Stationary", se o tempo do segundo de salto dado pelo outros campos deve ser interpretado como UTC ou (uma abreviação para) “Rolling”, se o tempo do segundo de salto dado pelos outros campos deve ser interpretado como hora local.
OBSERVAÇÃO:
Para as áreas com mais de dois tipos de horário local, você pode precisar usar a hora local padrão no campo AT da regra de tempos de transição anterior para assegurar que o tempo de transição anterior gravado no arquivo compilado esteja correto.
ARQUIVO
/usr/share/zoneinfo – diretório padrão usado pelos arquivos.
segunda-feira, 17 de outubro de 2011
Nesta segunda-feira, dia 17, é comemorado o Dia Nacional da Vacinação para lembrar que não são apenas as crianças que devem estar com a carterinha em dia. Ninguém reluta em levar o filho para tomar uma vacina contra sarampo ou paralisia infantil, mas na hora de cuidar da própria saúde, muitos adultos negligenciam as campanhas de vacinação. Não é apenas o organismo da criança que está sujeito a doenças que o corpo não está preparado para combater.
Em todas as fases de nossa vida, estamos suscetíveis a infecções por vírus e bactérias que, se não tratadas, podem causar muitos problemas. "Faz parte da cultura dos brasileiros achar que vacinação é assunto de criança. Mesmo que esse quadro esteja mudando, os adultos ainda não tratam as vacinas com seriedade", diz o infectologista Paulo Olzon, da Unifesp.
Em todas as fases de nossa vida, estamos suscetíveis a infecções por vírus e bactérias que, se não tratadas, podem causar muitos problemas. "Faz parte da cultura dos brasileiros achar que vacinação é assunto de criança. Mesmo que esse quadro esteja mudando, os adultos ainda não tratam as vacinas com seriedade", diz o infectologista Paulo Olzon, da Unifesp.
As doenças crônicas que se manifestam mais na vida adulta são fortes indicadores de que o individuo precisa se vacinar. "As pessoas que estão em grupos de risco, como as pessoas com mais de 60 anos ou aquelas que têm doenças crônicas, devem sempre estar informadas sobre a vacinação", explica o especialista.
Existem vacinas tanto para bactérias como para vírus. "No primeiro caso, a vacinação é feita para controlar surtos epidemiológicos. Já no caso dos vírus, a imunização normalmente dura a vida toda, sendo necessárias apenas algumas doses de reforço para garantir que a doença não vai mais voltar", diz Paulo Olzon.
Existem vacinas tanto para bactérias como para vírus. "No primeiro caso, a vacinação é feita para controlar surtos epidemiológicos. Já no caso dos vírus, a imunização normalmente dura a vida toda, sendo necessárias apenas algumas doses de reforço para garantir que a doença não vai mais voltar", diz Paulo Olzon.
Vacina dupla tipo adulto - para difteria e tétano
A difteria é causada por uma bactéria, que é contraída pelo contato com secreções de pessoas infectadas. Ela afeta o sistema respiratório, causa febres e dores de cabeça, em casos graves, pode evoluir para uma inflamação no coração.
A toxina da bactéria causadora do tétano compromete os músculos e leva a espasmos involuntários. A musculatura respiratória é uma das mais comprometidas pelo tétano. Se a doença não for tratada precocemente, pode haver uma parada respiratória devido ao comprometimento do diafragma, músculo responsável por boa parte da respiração, levando a morte. Ferir o pé com prego enferrujado que está no chão é uma das formas mais conhecidas do contágio do tétano.
A primeira parte da vacinação contra difteria e tétano é feita em três doses, com intervalo de dois meses. Geralmente, essas três doses são tomadas na infância. Então confira a sua carteira de vacinação para certificar-se se a vacinação está em ordem. Depois delas, o reforço deve ser feito a cada dez anos para que a imunização continue eficaz. É nesse momento que os adultos cometem um erro, deixando a vacina de lado.
A toxina da bactéria causadora do tétano compromete os músculos e leva a espasmos involuntários. A musculatura respiratória é uma das mais comprometidas pelo tétano. Se a doença não for tratada precocemente, pode haver uma parada respiratória devido ao comprometimento do diafragma, músculo responsável por boa parte da respiração, levando a morte. Ferir o pé com prego enferrujado que está no chão é uma das formas mais conhecidas do contágio do tétano.
A primeira parte da vacinação contra difteria e tétano é feita em três doses, com intervalo de dois meses. Geralmente, essas três doses são tomadas na infância. Então confira a sua carteira de vacinação para certificar-se se a vacinação está em ordem. Depois delas, o reforço deve ser feito a cada dez anos para que a imunização continue eficaz. É nesse momento que os adultos cometem um erro, deixando a vacina de lado.
Vacina Tríplice-viral ? para sarampo, caxumba e rubéola
Causado por um vírus, o sarampo é caracterizado por manchas vermelhas no corpo. A transmissão ocorre por via respiratória. De acordo com dados do Ministério da Saúde, a mortalidade entre crianças saudáveis é mínima, ficando abaixo de 0,2% dos casos. Nos adultos, essa doença é pouco observada, mas como a forma de contágio é simples, os adultos devem ser imunizados para proteger as crianças com quem convivem.
Conhecida por deixar o pescoço inchado, a caxumba também tem transmissão por via respiratória. Mesmo que seja mais comum em crianças, a caxumba apresenta casos mais graves em adultos, podendo causar meningite, encefalite, surdez, inflamação nos testículos ou dos ovários, e mais raramente no pâncreas.
Conhecida por deixar o pescoço inchado, a caxumba também tem transmissão por via respiratória. Mesmo que seja mais comum em crianças, a caxumba apresenta casos mais graves em adultos, podendo causar meningite, encefalite, surdez, inflamação nos testículos ou dos ovários, e mais raramente no pâncreas.
"Faz parte da cultura dos brasileiros achar que vacinação é assunto de criança. Mesmo que esse quadro esteja mudando, os adultos ainda não tratam as vacinas com seriedade"
Já a rubéola é caracterizada pelo aumento dos gânglios do pescoço e por manchas avermelhadas na pele, é mais perigosa para gestantes. O vírus pode levar à síndrome da rubéola congênita, que prejudica a formação do bebê nos três primeiros meses de gravidez. A síndrome causa surdez, má-formação cardíaca, catarata e atraso no desenvolvimento.
O adulto deve tomar a tríplice-viral se ainda não tiver recebido as duas doses recomendadas para a imunização completa quando era criança e se tiver nascido depois de 1960. O Ministério da Saúde considera que as pessoas que nasceram antes dessa data já tiveram essas doenças e estão imunizados, ou já foram vacinados anteriormente.
Mesmo que todos com essas características devam ser vacinados, as mulheres que pretendem ter filhos, que não foram imunizadas ou nunca tiveram rubéola devem tomar a vacina um mês antes de engravidar, já que a rubéola é bastante perigosa quando acomete gestantes, podendo causar deformidade no feto.
O adulto deve tomar a tríplice-viral se ainda não tiver recebido as duas doses recomendadas para a imunização completa quando era criança e se tiver nascido depois de 1960. O Ministério da Saúde considera que as pessoas que nasceram antes dessa data já tiveram essas doenças e estão imunizados, ou já foram vacinados anteriormente.
Mesmo que todos com essas características devam ser vacinados, as mulheres que pretendem ter filhos, que não foram imunizadas ou nunca tiveram rubéola devem tomar a vacina um mês antes de engravidar, já que a rubéola é bastante perigosa quando acomete gestantes, podendo causar deformidade no feto.
Vacina contra a hepatite B
A Hepatite B é transmitida pelo sangue, e em geral não apresenta sintomas. Alguns pacientes se curam naturalmente sem mesmo perceber que tem a doença. Em outros, a doença pode se tornar crônica, levando a lesões do fígado que podem evoluir para a cirrose. "A imunização contra essa doença é importante, pois ela pode causar problemas sérios, como câncer no fígado", diz Paulo Olzon.
De acordo com o especialista, há algumas décadas, o tipo B da hepatite era o mais encontrado, já que ela pode ser transmitida através da relação sexual e as pessoas não tomavam cuidado com a prevenção de doenças sexualmente transmissíveis. Depois de uma campanha de vacinação e imunização, e da classificação da hepatite C pelos médicos, ela não pode ser vista como epidemia, mas ainda é preciso tomar cuidado com essa doença.
De acordo com o especialista, há algumas décadas, o tipo B da hepatite era o mais encontrado, já que ela pode ser transmitida através da relação sexual e as pessoas não tomavam cuidado com a prevenção de doenças sexualmente transmissíveis. Depois de uma campanha de vacinação e imunização, e da classificação da hepatite C pelos médicos, ela não pode ser vista como epidemia, mas ainda é preciso tomar cuidado com essa doença.
Até os 19 anos, todas as pessoas podem tomar a vacina contra hepatite B, gratuitamente, em qualquer posto de saúde. A aplicação da vacina também continua de graça, quando o adulto faz parte de um grupo de risco. "Pessoas que tenham contato com sangue, como profissionais de saúde, podólogos, manicures, tatuadores e bombeiros, ou que tenham relacionamentos íntimos com portador da doença são as mais expostas a essa doença", diz o especialista. Fora isso, qualquer adulto pode encontrar a vacina em clínicas particulares.
Pneumo 23 - Pneumonia
O pneumococo, bactéria que pode causar a pneumonia, entre outras doenças, pode atacar pessoas de todas as idades, principalmente indivíduos com mais de 60 anos. "Pessoas com essa idade não podem deixar de tomar a vacina pneumo 23", diz Paulo Olzon.
A pneumonia é o nome dado a inflamação nos pulmões causada por agentes infecciosos (bactérias, vírus, fungos e reações alérgicas). Entre os principais sintomas dessa inflamação dos pulmões, estão febre alta, suor intenso, calafrios, falta de ar, dor no peito e tosse com catarro. Adultos com doenças crônicas em órgãos como pulmão e coração -alvos mais fáceis para o pneumococo, devem tomar essa vacina sempre que há uma campanha de vacinação.
Mesmo que ela seja uma das vacinas mais importantes para ser tomadas é a única vacina do calendário que não é oferecida em postos de saúde. É preciso ir a um Centro de Referência para Imunobiológicos Especiais, em locais como o Hospital das Clínicas e a Unifesp.
A pneumonia é o nome dado a inflamação nos pulmões causada por agentes infecciosos (bactérias, vírus, fungos e reações alérgicas). Entre os principais sintomas dessa inflamação dos pulmões, estão febre alta, suor intenso, calafrios, falta de ar, dor no peito e tosse com catarro. Adultos com doenças crônicas em órgãos como pulmão e coração -alvos mais fáceis para o pneumococo, devem tomar essa vacina sempre que há uma campanha de vacinação.
Mesmo que ela seja uma das vacinas mais importantes para ser tomadas é a única vacina do calendário que não é oferecida em postos de saúde. É preciso ir a um Centro de Referência para Imunobiológicos Especiais, em locais como o Hospital das Clínicas e a Unifesp.
Vacina contra a febre amarela
A febre amarela é transmitida pelo mesmo mosquito transmissor da dengue, o Aedes aegypti. A doença rem como principais sintomas febre, dor de cabeça, calafrios, náuseas, vômito, dores no corpo, icterícia (pele e olhos amarelados) e hemorragias. "Se a febre amarela não for tratada, pode levar a morte", explica o especialista.
Por ser uma doença grave, e com alto índice de mortalidade, todas as pessoas que moram em locais de risco devem tomar a vacina a cada dez anos, durante toda a vida. Quem for para uma dessas regiões precisa ser vacinado pelo menos dez dias antes da viagem. No Brasil, as áreas de risco são: zonas rurais no Norte e no Centro-Oeste do país e alguns municípios dos Estados do Maranhão, do Piauí, da Bahia, de Minas Gerais, de São Paulo, do Paraná, de Santa Catarina e do Rio Grande do Sul.
Mesmo que os efeitos colaterais mais sérios sejam muito raros, a vacina contra febre amarela deve ficar restrita aqueles indivíduos que moram ou irão viajar para algum lugar de risco. "Nesse sentido, a preocupação dos médicos está relacionada ao risco de reação alérgica grave ou anafilática, que pode levar a morte os pacientes propensos", explica o infectologista Paulo Olzon.
Por ser uma doença grave, e com alto índice de mortalidade, todas as pessoas que moram em locais de risco devem tomar a vacina a cada dez anos, durante toda a vida. Quem for para uma dessas regiões precisa ser vacinado pelo menos dez dias antes da viagem. No Brasil, as áreas de risco são: zonas rurais no Norte e no Centro-Oeste do país e alguns municípios dos Estados do Maranhão, do Piauí, da Bahia, de Minas Gerais, de São Paulo, do Paraná, de Santa Catarina e do Rio Grande do Sul.
Mesmo que os efeitos colaterais mais sérios sejam muito raros, a vacina contra febre amarela deve ficar restrita aqueles indivíduos que moram ou irão viajar para algum lugar de risco. "Nesse sentido, a preocupação dos médicos está relacionada ao risco de reação alérgica grave ou anafilática, que pode levar a morte os pacientes propensos", explica o infectologista Paulo Olzon.
Vacina contra o influenza (gripe)
A vacina contra gripe deve estar na rotina de quem está com mais de 60 anos. "Muitas pessoas deixam de tomá-la com medo da reação que ela pode causar. Mas isso é um mito, já que a suposta reação do corpo não tem nada a ver com a vacina, e sim com a própria gripe. Isso porque, o vírus da gripe fica semanas em nosso corpo sem se manifestar e a proteção da vacina não é imediata como as pessoas imaginam", diz o especialista.
A gripe é transmitida por via respiratória, leva a dores musculares e a febres altas. Seu ciclo costuma ser de uma semana. Pessoas com mais de 60 anos podem tomar a vacina nos postos de saúde, enquanto os mais jovens podem ser vacinados em clínicas particulares.
"Os idosos que não querem esperar até a campanha anual de vacinação contra a gripe podem tomar a vacina em clínicas particulares em todas as épocas do ano", diz Paulo Olzon.
A gripe é transmitida por via respiratória, leva a dores musculares e a febres altas. Seu ciclo costuma ser de uma semana. Pessoas com mais de 60 anos podem tomar a vacina nos postos de saúde, enquanto os mais jovens podem ser vacinados em clínicas particulares.
"Os idosos que não querem esperar até a campanha anual de vacinação contra a gripe podem tomar a vacina em clínicas particulares em todas as épocas do ano", diz Paulo Olzon.
sexta-feira, 14 de outubro de 2011
Script para o horário de verão
Fone: http://www.vivaolinux.com.br/artigo/Configurando-corretamente-para-o-Horario-de-Verao
Salve o arquivo como Sao_Paulo.zic e execute o seguinte comando como root:
# zic Sao_Paulo.zic
Feito isso, o arquivo: /usr/share/zoneinfo/America/Sao_Paulo vai ser atualizado com as novas definições de data.
Como último passo, o Linux utiliza o arquivo /etc/localtime para saber qual zona utilizar. Se seu arquivo /etc/localtime for um link simbólico(*1) para /usr/share/zoneinfo/America/Sao_Paulo já está tudo certo.
Caso não seja um link, basta copiar o que você acabou de alterar no lugar do atual. Como root:
# cp /etc/localtime /etc/localtime.backup
# cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
E estará pronto! Basta conferir utilizando o comando date:
$ date
Sun Nov 7 23:06:52 BRT 2004
Note a zona "BRT" em vez de "BRST" (*2)
Artigo escrito por: Wagner Amaral em 21/10/2004 - 12:41
Fonte: http://danielaugusto.com/index.php/tag/linux/
#!/bin/sh
##############################################
# Script para atualizacao do Horario de Verao
##############################################
cp /usr/share/zoneinfo/America/Sao_Paulo /usr/share/zoneinfo/America/Sao_Paulo.`date +%Y`
cp /etc/localtime /etc/localtime.`date +%Y`
mkdir -p /usr/share/zoneinfo/Brazil
echo "Rule Brazil 2010 only - Feb 21 00:00 0 -" > /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2010 only - Oct 17 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2011 only - Feb 20 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2011 only - Oct 16 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2012 only - Feb 19 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2012 only - Oct 21 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2013 only - Feb 17 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2013 only - Oct 20 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2014 only - Feb 16 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2014 only - Oct 19 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2015 only - Feb 22 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2015 only - Oct 18 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2016 only - Feb 21 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Zone Brazil/East -3:00 Brazil BR%sT" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Compilando o arquivo zic"
/usr/sbin/zic /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Finalizando o processo"
cp /usr/share/zoneinfo/Brazil/East /usr/share/zoneinfo/America/Sao_Paulo
cp /etc/localtime /etc/localtime.bak
rm -f /etc/localtime
cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
echo "Aplicacao finalizada com sucesso"
Não há uma data fixa pré-estabelecida para o início e término do Horário de Verão no Brasil. A cada ano essa data é calculada de acordo com o pôr do sol.
O comando a ser utilizado é o 'zic' - ZoneInfo Compiler. Ele vai gerar, a partir de um arquivo de dados, o arquivo binário que o Linux utiliza para saber as datas exatas. Esse arquivo se localiza normalmente em:
/usr/share/zoneinfo/America/Sao_Paulo
Agora nesse diretório, confira se existe um arquivo com mesmo nome, com extensão .zic (Sao_Paulo.zic). Caso exista, basta editá-lo conforme as informações abaixo. Se não existir, tudo bem, basta criar o arquivo em um lugar qualquer como /tmp com seu editor de texto favorito, e adicionar as seguintes linhas:
O comando a ser utilizado é o 'zic' - ZoneInfo Compiler. Ele vai gerar, a partir de um arquivo de dados, o arquivo binário que o Linux utiliza para saber as datas exatas. Esse arquivo se localiza normalmente em:
/usr/share/zoneinfo/America/Sao_Paulo
Agora nesse diretório, confira se existe um arquivo com mesmo nome, com extensão .zic (Sao_Paulo.zic). Caso exista, basta editá-lo conforme as informações abaixo. Se não existir, tudo bem, basta criar o arquivo em um lugar qualquer como /tmp com seu editor de texto favorito, e adicionar as seguintes linhas:
Rule BrazilSP 2004 only - Nov 02 0:00 1:00 S
Rule BrazilSP 2005 only - Feb 20 0:00 0 -
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone America/Sao_Paulo -3:00 BrazilSP BR%sT
Rule BrazilSP 2005 only - Feb 20 0:00 0 -
# Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL]
Zone America/Sao_Paulo -3:00 BrazilSP BR%sT
Salve o arquivo como Sao_Paulo.zic e execute o seguinte comando como root:
# zic Sao_Paulo.zic
Feito isso, o arquivo: /usr/share/zoneinfo/America/Sao_Paulo vai ser atualizado com as novas definições de data.
Como último passo, o Linux utiliza o arquivo /etc/localtime para saber qual zona utilizar. Se seu arquivo /etc/localtime for um link simbólico(*1) para /usr/share/zoneinfo/America/Sao_Paulo já está tudo certo.
Caso não seja um link, basta copiar o que você acabou de alterar no lugar do atual. Como root:
# cp /etc/localtime /etc/localtime.backup
# cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
E estará pronto! Basta conferir utilizando o comando date:
$ date
Sun Nov 7 23:06:52 BRT 2004
Note a zona "BRT" em vez de "BRST" (*2)
Artigo escrito por: Wagner Amaral em 21/10/2004 - 12:41
Considerações finais
- Se sua partição /usr não for a mesma do root "/", o arquivo /etc/localtime não deverá ser um link, visto que /usr será montada depois do kernel estar rodando, então o arquivo não será encontrado. Se seu /usr for montado, simplesmente copie o arquivo para /etc/localtime e estará resolvido.
- Para os curiosos:
BRT == BRazilian Time (horário normal)
BRST == BRazilian Saving Time (saving == econômico == horário de verão)
Fonte: http://danielaugusto.com/index.php/tag/linux/
#!/bin/sh
##############################################
# Script para atualizacao do Horario de Verao
##############################################
cp /usr/share/zoneinfo/America/Sao_Paulo /usr/share/zoneinfo/America/Sao_Paulo.`date +%Y`
cp /etc/localtime /etc/localtime.`date +%Y`
mkdir -p /usr/share/zoneinfo/Brazil
echo "Rule Brazil 2010 only - Feb 21 00:00 0 -" > /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2010 only - Oct 17 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2011 only - Feb 20 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2011 only - Oct 16 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2012 only - Feb 19 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2012 only - Oct 21 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2013 only - Feb 17 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2013 only - Oct 20 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2014 only - Feb 16 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2014 only - Oct 19 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2015 only - Feb 22 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2015 only - Oct 18 00:00 1 S" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Rule Brazil 2016 only - Feb 21 00:00 0 -" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Zone Brazil/East -3:00 Brazil BR%sT" >> /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Compilando o arquivo zic"
/usr/sbin/zic /usr/share/zoneinfo/Brazil/brasil10a15.zic
echo "Finalizando o processo"
cp /usr/share/zoneinfo/Brazil/East /usr/share/zoneinfo/America/Sao_Paulo
cp /etc/localtime /etc/localtime.bak
rm -f /etc/localtime
cp /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
echo "Aplicacao finalizada com sucesso"
quinta-feira, 13 de outubro de 2011
Filtrar o arquivo de log do CUPS
###########################
Script INICIADO em DATA HORA BRT 2011
###########################
Para extrair do log do cups o arquivo de impresso, o usuário que imprimiu e a impressora deve-se:
1) Configurar o /etc/cups/cupsd.conf com LogLeve Debug
2) As informações estão contidas no /var/log/cups/error_log
3)
for linha in `egrep -n D /var/log/cups/error_log | egrep -i "argv.3.=\"smbprn" | egrep -i -v "Java|https|http" | cut -d ":" -f 1`; do inicio=`expr $linha - 3`; fim=`expr $linha + 1` ; awk 'NR>='$inicio' && NR<='$fim' {print}' /var/log/cups/error_log ; done >> /PATHlog_completo``$DATA_ARQUIVO``.txt
Descrição: a variável linha recebe o nr da linha que contém a expressão argv?3?="smbprn. Esse número é utilizado para enviar para o comando awk que extrai do arquivo as linhas entre $linha -3 e $linha + 1 do arquivo /var/log/cups/error_log
O formato do arquivo gerado fica assim:
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[0]="NOME DA IMPRESSORA"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[1]="NR DO JOB"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[2]="NOME DO USUÁRIO"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[3]="NOME DO ARQUIVO IMPRESSO"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[4]="1"
Pode-se também fazer um filtro usando o error_log e concatenando com o page_log. Esse script ganha em performance, pois é executado em duas etapas:
Esta primeira linha cria um arquivo intemediário extraindo as informações do error_log
cut -d ":" -f 1-5 /var/log/cups/error_log | egrep -i "argv.2.|argv.3.|Get-Jobs ipp:\/\/localhost\/printers" | egrep -i -v "Java|https|http" >> /PATH``$DATA_ARQUIVO``.txt
Esta segunda linha de comando concatena, pelo número do JOB, do arquivo page_log
com o error_log
for nrjob in `awk -F: '/argv.3./ {print $4}' /PATHlog_cups$DATA_ARQUIVO.txt | awk '{ print substr ($4, 0,6)}'`; do awk -F: '/'$nrjob'/ {print}' /var/log/cups/page_log |tr -d '\n' >> /PATH``$DATA_ARQUIVO``.txt; echo " DOC: " | tr -d '\n' >> /PATH``$DATA_ARQUIVO``.txt; awk -F: '/'$nrjob'/ && /smbprn/ {print}' /PATH``$DATA_ARQUIVO``.txt |awk '{print $6,$7,$8,$9, $10, $11, $12}' >> /PATHteste_cups``$DATA_ARQUIVO``.txt ; echo "###################################" >> /PATHteste_cups``$DATA_ARQUIVO``.txt; done
rm /PATHlog_cups``$DATA_ARQUIVO``.txt
O formato do arquivo fica assim:
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
###########################
Script TERMINADO em DATA HORA BRT 2011
###########################
Este Script Gera arquivos de log por impressora
#!/bin/bash
DATA_ARQUIVO=`date +%d-%m-%Y`
echo "###########################" >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "Script INICIADO em " `date` >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "###########################" >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
Esta linha gera o arquivo intermediário
cut -d ":" -f 1-5 /var/log/cups/error_log | egrep -i "argv.0.|argv.1.|argv.2.|argv.3.|Get-Jobs ipp:\/\/localhost\/printers" | egrep -i -v "Java|https|http" >> /root/log_cups.txt
O restante do script extrai do arquivo intermediário as informações por impressora
for IMPRESSORA in `awk {print} impressora.txt`;
do for linha in `egrep -n D /root/log_cups.txt | egrep -i "argv.0.=\"$IMPRESSORA" | egrep -i -v "Java|https|http" | cut -d ":" -f 1`;
do fim=`expr $linha + 3` ;
awk 'NR>='$linha' && NR<='$fim' {print}' /root/log_cups.txt ; done >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt;
done
Esta linha deleta o arquivo intermediário e o resto é firula.
rm /root/log_cups.txt
echo "###########################" >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "Script TERMINADO em " `date` >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "###########################" >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
Script INICIADO em DATA HORA BRT 2011
###########################
Para extrair do log do cups o arquivo de impresso, o usuário que imprimiu e a impressora deve-se:
1) Configurar o /etc/cups/cupsd.conf com LogLeve Debug
2) As informações estão contidas no /var/log/cups/error_log
3)
for linha in `egrep -n D /var/log/cups/error_log | egrep -i "argv.3.=\"smbprn" | egrep -i -v "Java|https|http" | cut -d ":" -f 1`; do inicio=`expr $linha - 3`; fim=`expr $linha + 1` ; awk 'NR>='$inicio' && NR<='$fim' {print}' /var/log/cups/error_log ; done >> /PATHlog_completo``$DATA_ARQUIVO``.txt
Descrição: a variável linha recebe o nr da linha que contém a expressão argv?3?="smbprn. Esse número é utilizado para enviar para o comando awk que extrai do arquivo as linhas entre $linha -3 e $linha + 1 do arquivo /var/log/cups/error_log
O formato do arquivo gerado fica assim:
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[0]="NOME DA IMPRESSORA"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[1]="NR DO JOB"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[2]="NOME DO USUÁRIO"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[3]="NOME DO ARQUIVO IMPRESSO"
D [03/Oct/2011:09:11:02 -0300] [Job 221789] argv[4]="1"
Pode-se também fazer um filtro usando o error_log e concatenando com o page_log. Esse script ganha em performance, pois é executado em duas etapas:
Esta primeira linha cria um arquivo intemediário extraindo as informações do error_log
cut -d ":" -f 1-5 /var/log/cups/error_log | egrep -i "argv.2.|argv.3.|Get-Jobs ipp:\/\/localhost\/printers" | egrep -i -v "Java|https|http" >> /PATH``$DATA_ARQUIVO``.txt
Esta segunda linha de comando concatena, pelo número do JOB, do arquivo page_log
com o error_log
for nrjob in `awk -F: '/argv.3./ {print $4}' /PATHlog_cups$DATA_ARQUIVO.txt | awk '{ print substr ($4, 0,6)}'`; do awk -F: '/'$nrjob'/ {print}' /var/log/cups/page_log |tr -d '\n' >> /PATH``$DATA_ARQUIVO``.txt; echo " DOC: " | tr -d '\n' >> /PATH``$DATA_ARQUIVO``.txt; awk -F: '/'$nrjob'/ && /smbprn/ {print}' /PATH``$DATA_ARQUIVO``.txt |awk '{print $6,$7,$8,$9, $10, $11, $12}' >> /PATHteste_cups``$DATA_ARQUIVO``.txt ; echo "###################################" >> /PATHteste_cups``$DATA_ARQUIVO``.txt; done
rm /PATHlog_cups``$DATA_ARQUIVO``.txt
O formato do arquivo fica assim:
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
NOME DA IMPRESSORA USUÁRIO JOB [DATA:HORA -0300] 1 1 - IP DA MÁQUINA DOC: NOME DO DOCUMENTO"
###################################
###########################
Script TERMINADO em DATA HORA BRT 2011
###########################
Este Script Gera arquivos de log por impressora
#!/bin/bash
DATA_ARQUIVO=`date +%d-%m-%Y`
echo "###########################" >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "Script INICIADO em " `date` >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "###########################" >> /path/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
Esta linha gera o arquivo intermediário
cut -d ":" -f 1-5 /var/log/cups/error_log | egrep -i "argv.0.|argv.1.|argv.2.|argv.3.|Get-Jobs ipp:\/\/localhost\/printers" | egrep -i -v "Java|https|http" >> /root/log_cups.txt
O restante do script extrai do arquivo intermediário as informações por impressora
for IMPRESSORA in `awk {print} impressora.txt`;
do for linha in `egrep -n D /root/log_cups.txt | egrep -i "argv.0.=\"$IMPRESSORA" | egrep -i -v "Java|https|http" | cut -d ":" -f 1`;
do fim=`expr $linha + 3` ;
awk 'NR>='$linha' && NR<='$fim' {print}' /root/log_cups.txt ; done >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt;
done
Esta linha deleta o arquivo intermediário e o resto é firula.
rm /root/log_cups.txt
echo "###########################" >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "Script TERMINADO em " `date` >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
echo "###########################" >> /root/log_``$IMPRESSORA``_``$DATA_ARQUIVO``.txt
sexta-feira, 7 de outubro de 2011
Script para limpar lixeira do Samba
#!/bin/bash
echo "Arquivos armazenados na Lixeira ha mais de 7 dias " >> /tmp/arquivos_lixeira.txt
date >> /tmp/arquivos_lixeira.txt
find Path_da_lixeira/ -type f -ctime +7 -exec stat -c "%n %z" >> /tmp/arquivos_lixeira.txt {} \;
find Path_da_lixeira/ -type f -ctime +7 -exec rm -f {} \;
date >> /path_do_arquivo/arquivos_lixeira.txt
echo "########################" >> /path_do_arquivo/arquivos_lixeira.txt
echo "Arquivos armazenados na Lixeira ha mais de 7 dias " >> /tmp/arquivos_lixeira.txt
date >> /tmp/arquivos_lixeira.txt
find Path_da_lixeira/ -type f -ctime +7 -exec stat -c "%n %z" >> /tmp/arquivos_lixeira.txt {} \;
find Path_da_lixeira/ -type f -ctime +7 -exec rm -f {} \;
date >> /path_do_arquivo/arquivos_lixeira.txt
echo "########################" >> /path_do_arquivo/arquivos_lixeira.txt
Script para converter a Base ldap do openldap para o RHDS
#!/bin/bash
INICIO=`date +%Y%m%d-%H%M%S`
ARQUIVO=backup_ldap_$INICIO
VERSAORHDS=backup_ldap_ver_rhds_$INICIO
LOG=/backup/ldap/logs/log_bkp_ldap.txt
#Iniciando
echo 1. Iniciando em $INICIO
echo "Iniciando em $INICIO" >> $LOG
echo "Iniciando Extracao de dados do LDAP.." >> $LOG
echo
echo 2. Carregando LDIF...
slapcat -l /backup/ldap/$ARQUIVO.ldif
sed "s/structuralObjectClass/#structuralObjectClass/g" /backup/ldap/$ARQUIVO.ldif > /backup/ldap/verrhds1.ldif
sed "s/entryCSN/#entryCSN/g" /backup/ldap/verrhds1.ldif > /backup/ldap/verrhds2.ldif
sed "s/entryUUID:/#nsUniqueId:/g" /backup/ldap/verrhds2.ldif > /backup/ldap/verrhds3.ldif
sed "s/o=nomebaseantiga/o=nomebasenova/g" /backup/ldap/verrhds3.ldif > /backup/ldap/$VERSAORHDS.ldif
rm -f /backup/ldap/verrhds1.ldif /backup/ldap/verrhds2.ldif /backup/ldap/verrhds3.ldif
echo
echo "Finalizado, Comprimindo.." >> $LOG
echo 3. Comprimindo Arquivo..
tar -czvf /backup/ldap/$ARQUIVO.etc.ldif.tar.gz /backup/ldap/$ARQUIVO.ldif /etc/ldap
echo "Compressao finalizada" >> $LOG
echo "Excluindo arquivo nao compactado..." >> $LOG
echo 4. Excluindo arquivo nao compactado...
rm /backup/ldap/$ARQUIVO.ldif -f
FINAL=`date +%Y%m%d-%H%M%S`
echo Backup do LDAP Iniciado em $INICIO
echo Backup do LDAP Finalizado em $FINAL
echo "Backup finalizado em $FINAL" >> $LOG
echo "Informacoes do arquivo" >> $LOG
FILE=`ls -al /backup/ldap/$ARQUIVO.etc.ldif.tar.gz`
echo $FILE >> $LOG
echo "." >> $LOG
echo "#######################################################" >> $LOG
INICIO=`date +%Y%m%d-%H%M%S`
ARQUIVO=backup_ldap_$INICIO
VERSAORHDS=backup_ldap_ver_rhds_$INICIO
LOG=/backup/ldap/logs/log_bkp_ldap.txt
#Iniciando
echo 1. Iniciando em $INICIO
echo "Iniciando em $INICIO" >> $LOG
echo "Iniciando Extracao de dados do LDAP.." >> $LOG
echo
echo 2. Carregando LDIF...
slapcat -l /backup/ldap/$ARQUIVO.ldif
sed "s/structuralObjectClass/#structuralObjectClass/g" /backup/ldap/$ARQUIVO.ldif > /backup/ldap/verrhds1.ldif
sed "s/entryCSN/#entryCSN/g" /backup/ldap/verrhds1.ldif > /backup/ldap/verrhds2.ldif
sed "s/entryUUID:/#nsUniqueId:/g" /backup/ldap/verrhds2.ldif > /backup/ldap/verrhds3.ldif
sed "s/o=nomebaseantiga/o=nomebasenova/g" /backup/ldap/verrhds3.ldif > /backup/ldap/$VERSAORHDS.ldif
rm -f /backup/ldap/verrhds1.ldif /backup/ldap/verrhds2.ldif /backup/ldap/verrhds3.ldif
echo
echo "Finalizado, Comprimindo.." >> $LOG
echo 3. Comprimindo Arquivo..
tar -czvf /backup/ldap/$ARQUIVO.etc.ldif.tar.gz /backup/ldap/$ARQUIVO.ldif /etc/ldap
echo "Compressao finalizada" >> $LOG
echo "Excluindo arquivo nao compactado..." >> $LOG
echo 4. Excluindo arquivo nao compactado...
rm /backup/ldap/$ARQUIVO.ldif -f
FINAL=`date +%Y%m%d-%H%M%S`
echo Backup do LDAP Iniciado em $INICIO
echo Backup do LDAP Finalizado em $FINAL
echo "Backup finalizado em $FINAL" >> $LOG
echo "Informacoes do arquivo" >> $LOG
FILE=`ls -al /backup/ldap/$ARQUIVO.etc.ldif.tar.gz`
echo $FILE >> $LOG
echo "." >> $LOG
echo "#######################################################" >> $LOG
NAGIOS - erro para monitorar HTTPS
Mensagem de erro - HTTP WARNING: HTTP/1.1 401 Authorization Required
Dentro do arquivo comandos.cfg insira a configuração abaixo
define command{
command_name verifica_site_httpscrao
command_line $USER1$/check_http -e 401 --ssl -H $ARG1$ -w $ARG2$ -c $ARG3$ -t $ARG4$ -S
}
Obs: sem o "-e 401" o erro ocorre, com os referidos parâmetros funciona perfeitamente.
Dentro do arquivo comandos.cfg insira a configuração abaixo
define command{
command_name verifica_site_httpscrao
command_line $USER1$/check_http -e 401 --ssl -H $ARG1$ -w $ARG2$ -c $ARG3$ -t $ARG4$ -S
}
Obs: sem o "-e 401" o erro ocorre, com os referidos parâmetros funciona perfeitamente.
quinta-feira, 6 de outubro de 2011
Mais comandos
Ultima modificação: 23 de 6 de 2011
a palavra sérgio do arquivo de grupos:
devido à extrutura do arquivo "/etc/group" modificamos o
separador de campos usando:
e o "$1" diz ao awk para imprimir o primeiro campo.
Caso não seja informado nenhum padrão o awk imprime a linha inteira,
a menos que peçamos para imprimir um campo, veja:
foi informado ao awk qual o separador de campos e qual
campo quería-mos como saída.
Obs: Sempre que trabalhar com o awk use aspas simples
pois o cifrão "$" representa para o awk indicador de campos
(começado em 1, se for zero é a linha toda), mas se não forem
usadas aspas simples o shell tentará interpretar primeiro
buscando alí uma variável que na verdade não existe.
atribuido à interface de rede eth0 (lembre-se que em alguns sistemas
a interface padrão pode ser eth1). Em seguida a saída
que deveria ser mostrada na tela é redirecionada para o awk.
O awk por sua vez procura pelo padrão "inet end" e imprime o
terceiro campo retornando somente o ip.
um comentário a cada 5 linhas
source: http://unstableme.blogspot.com/2011/05/bash-insert-newline-after-every-3-lines.html
referência inicial
http://br.groups.yahoo.com/group/sed-br/message/4369
A variável total receber o valor dela + o acumulado
do terceiro campo do arquivo "fatura.txt", mas
só é impresso a soma no final graças ao uso do
END
Resultado:
comparando o número do registro (linha)
Se você tem o arquivo...
... e quer definir como delimitador de registros a palavra "teste"
e o delimitador de campos para quebra de linha faça:
Queremos imprimir somente os valores negativos do seguinte arquivo
como sendo uma linha, em seguida usamos uma expressão regular para pegar o começo de linha com o sinal de menos
Input file 'file.txt' contains fields separated with uneven spaces (or tabs)
Required: Replace one or more space with single space or single tab or comma.
The solutions using awk:
com awk dá pra fazer assim:
Introdução
O awk trabalha sempre dessa forma:awk padrão ação
O padrão é um termo buscado, pode ser imprimir as linhas que contéma palavra sérgio do arquivo de grupos:
awk -F: '/sergio/ {print $1}' /etc/groupO awk considera o espaço como separador de campos padrão,
devido à extrutura do arquivo "/etc/group" modificamos o
separador de campos usando:
-F:O que está entre barras "/" é o padrão a ser buscado
e o "$1" diz ao awk para imprimir o primeiro campo.
Caso não seja informado nenhum padrão o awk imprime a linha inteira,
a menos que peçamos para imprimir um campo, veja:
awk -F: '{print $1}' /etc/groupNo comando acima não foi informado nenhum padrão, apenas
foi informado ao awk qual o separador de campos e qual
campo quería-mos como saída.
Obs: Sempre que trabalhar com o awk use aspas simples
pois o cifrão "$" representa para o awk indicador de campos
(começado em 1, se for zero é a linha toda), mas se não forem
usadas aspas simples o shell tentará interpretar primeiro
buscando alí uma variável que na verdade não existe.
Variáveis do awk
NR Contém o número do registro atual NF contém o número de registros por campo FS indica o separador de campos RS indica o separador de registros OFS indica o separador de campo do arquivo de saida ORS indica o separador de registros do arquivo de saida
separadndo dados - awk range
Nossa missão, separar países de cidadesCountry1 city1 city2 Country2 city3 city4
awk 'BEGIN {RS="";FS="\n"} {print $1 > "countries"} {for (i=2;i<=NF;i++) print $i > "cities"}' teste.txt # imprime do campo 2 em diante awk 'BEGIN {RS="";FS="\n"} {print substr($0,match($0,$2))}' teste.txtsource: http://stackoverflow.com/questions/6436170/extracting-line-after-new-line
imprimir ultimo campo
awk '{print $NF}' file # imprimir o ultimo campo 'juntando em uma só linha' awk -F":" '{printf $NF ""}' file
buscar ocorrência exata com awk
awk '$2=="172.17.4.1" {print $1}' file.txt
numerar linhas
awk '{print FNR "\t" $0}' files*
imprimir numero da linha de um padrão
awk '/enable bash completion/ {print NR}' /etc/bash.bashrc
imprimindo tudo menos o 5º campo
awk '{ $5=""; print }' file
imprimindo o primeiro e o último campos
- http://br.groups.yahoo.com/group/shell-script/message/31590
- http://br.groups.yahoo.com/group/shell-script/message/33109
Tenho uma coluna que contém nomes, exemplo: Ciclano Fulano da Silva Soares José dos Anzóis Pereira Juca da Silva Mateus Marcus Lucas e João Benedita Maria da Silva Santa Maria estou precisando formatá-los pegando apenas o primeiro e o último nome, o único problema é que eles não tem o mesmo tamanho... como devo fazer? alguem pode me ajudar? JJ.Santanna awk '{print $1,$NF}' teste.txt
Pegando o número ip
ifconfig eth0 | awk '/inet add/ {print $3}' awk '/inet addr/ {print $2}' <(ifconfig eth0) #obs: a opção --> hostname -I é mais práticaNo caso acima pedimos para listar o endereço atualmente
atribuido à interface de rede eth0 (lembre-se que em alguns sistemas
a interface padrão pode ser eth1). Em seguida a saída
que deveria ser mostrada na tela é redirecionada para o awk.
O awk por sua vez procura pelo padrão "inet end" e imprime o
terceiro campo retornando somente o ip.
Pegando o endereço do roteador
awk 'NR==2 {print $1}' /proc/net/arpA explicação: Mostre o campo 1 '$1' do registro 2 'NR==2' do arquivo /proc/net/arp
Removendo linhas duplicadas
awk '!($0 in a) {a[$0];print}' file awk '!a[$0]++' file
Imprimindo linhas de um intervalo
awk 'NR >= 27 && NR <= 99' file.txt > /tmp/file3
fonte: http://br.groups.yahoo.com/group/shell-script/message/31705 Srs., Boa tarde! Gostaria de uma ajuda para solucionar este desafio(pra min..rs). Desejo capturar um intervalo de linhas separadas por chaves. ex: #arquivo teste primeira_linha teste{ linha1 linha2 linha3 } ultima_linha Gostaria de saber qual comando posso utilizar para que seja possivel jogar o que esta entre chaves para alguma variavel: linha1 linha2 linha3 desde já agradeço atenção! att, Cleberson.
solução
cat teste.txt | awk '/teste{/,/}/' | grep -v '{\|}'
Imprimir linhas em intervalos específicos (neste caso a cada 3 linhas)
awk 'NR%3==1' file
um comentário a cada 5 linhas
ls -l | awk '{if (NR % 5 == 0) print "-- COMMIT --"; print}'
imprimindo um espaço a cada duas linhas
Bash insert newline after every 2 linessource: http://unstableme.blogspot.com/2011/05/bash-insert-newline-after-every-3-lines.html
awk '!( NR % 2 ) {$0 = $0"\n"} {print}' file
juntando linhas de 3 em e
você tem istofield1 field2 field3 field1 field2 field3e quer isto
field1,field2,field3 field1,field2,field3deve então fazer isto
awk '{if (NR%3==0){print $0;}else{printf "%s,", $0;}}' file.txt # ou awk '{ORS=NR%3?",":"\n";print}' file.txt
zerando a primeira coluna
awk '{$1=""; print}'
Substituição de um padrão - usando a função sub
echo "isto aquilo" | awk '{ sub(/aquilo/, "aquele"); print }'
Substituindo o terminador de linha
Convert Windows/DOS newlines (CRLF) to Unix newlines (LF) from Unix.awk '{ sub(/\r$/,""); print }'Convert Unix newlines (LF) to Windows/DOS newlines (CRLF) from Unix.
awk '{ sub(/$/,"\r"); print }'Substitute “foo” with “bar” only on lines that contain “baz”.
awk '/baz/ { gsub(/foo/, "bar") }; { print }'
imprimir um intervalo
awk '/start_pattern/,/stop_pattern/' file.txt
colocando em maiúsculas
echo "um dois" | awk '{print $1, toupper($2)}'
convertendo tags html/xml para minúsculas
referência inicial
cat usuarios.txt | awk '{print tolower($1)}'
Concatenando linhas
Concatenate every 4 lines of input with a comma.awk 'ORS=NR%4?",":"\n"'O comando acima resolve questões como esta:
http://br.groups.yahoo.com/group/sed-br/message/4369
Senhores, Ainda não consegui achar uma solução, tem um arquivo que ele assim: dn: uid=xx,ou=Usuarios,dc=bbbb,dc=com,dc=br cn: fulano de tal homePhone: 053922 mail: fulano@... dn: uid=yy,ou=Usuarios,dc=bbb,dc=com,dc=br cn: beltrano de tal homePhone: 053923 mail: beltrano@... Isso se repete, sempre, dn:, cn: homePhone: e mail:, gostaria de deixar ele dessa forma: dn: uid=xx,ou=Usuarios,dc=bbbb,dc=com,dc=br;cn: fulano de tal;homePhone: 053922 em coluna para cada 4 linhas do arquivo. Alguém tem alguma idéia de como fazer isso?
Calculadora com awk
# coloque no seu ~/.bashrc calc(){ awk "BEGIN{ print $* }" ;}
Exibindo os maiores arquivos
Insira estas linhas no bashrcbiggest () { du | sort -r -n | awk '{split("k m g",v); s=1; while($1>1024){$1/=1024; s++} print int($1)" "v[s]"\t"$2}' }em seguida pode abrir outro terminal e fazer
biggest | head -20
retirar ultimo diretório de uma lista
echo /teste/teste1/teste2/teste3 | awk -F"/" '{print $NF}' -F"/" = especifica / como divisor de campo $NF = último campo
Ordenando strings por tamanho
awk '{ print length($0),$0 | "sort -n"}' file
Imprimindo linhas maiores que
awk 'length>72' file
imprimir linhas com mais de três campos
awk 'NF >= 3' filename
Somando listas
ls -la | awk 'BEGIN{count=0}; {count++; print $5} END{ print "Total:", count}'outro exemplo
awk '{sum+=$2} END {print sum}' arquivoSomando os números de um arquivo
34 42 11 6 2 99 ...
awk '{ sum += $1 } END { print sum }' file
Trocar de posição os campos 1 e 2 de um arquivo e imprimir a linha
{ temp = $1 ; $1 = $2 ; $2 = temp ; print } Um outro jeito mais inteligente! '{print $2,$1}'
imprimindo linhas impares
cat -n /etc/passwd | awk '$1 % 2 == 1 {print}'
Combinando com ls
ls -l | awk ’$6 == "Nov" { sum += $5 } END { print sum }’
Localizando processos por usuário
ps aux | awk '!/root|nobody/ { if ($4>2) {print $2,$11}}'
Pegar coluna de linha especifica
#exemplo da coluna 2 na linha 5 awk 'NR == 5 {print $2}'imprimir primeira coluna da linha 2
awk 'NR==2 {print $1}' arquivo
somando números em um arquivo
awk '{s+=$0} END {print s}' /tmp/file.txt
somando os 10 primeiros números
$ seq 10 | awk '{ i+=$1 } END { print i }' 55
Opção com o paste + bc para somar numeros em um arquivo
paste -sd+ /tmp/file.txt | bc awk '{ sum += $1 } END { print sum }' file
Calculando sua fatura do com o awk
Eu tenho uma fatura assim:12/01/2007 INSINUANTE_LJ_187(12/12) 187,91 04/09/2007 RABELO_SOM_E_IMAGEM(04/12) 51,75 03/11/2007 EXTRA_1375_PARANGABA(03/04) 41,75 03/11/2007 EXTRA_1375_PARANGABA(03/04) 11,75 13/11/2007 INTUICAO(02/02) 34,50 21/11/2007 ADAUTO_PECAS(02/06) 200,00 17/12/2007 ANUIDADE(12/12) 7,00 26/12/2007 VIACAO_ITAPEMIRIM(01/03) 259,34 awk '{ total = total + $3} END {print total} ' fatura.txt
A variável total receber o valor dela + o acumulado
do terceiro campo do arquivo "fatura.txt", mas
só é impresso a soma no final graças ao uso do
END
Resultado:
794
somando campos de arquivos csv
awk -F ',' '{ x = x + $4 } END { print x }' test.csvprocura e mostra linhas com o terceiro campo igual a "peter" ou que contenham o string "marie":
cat nomedoarquivo | awk '$3 == "peter" || $3 ~ /marie/'
Imprimir o tamanho de uma linha
awk '/root/ {print NR " - " lenght}' /etc/passwd
imprimir linhas menores que
awk 'length<30' /etc/passwd
Imprimir uma linha específica
a ação padrão do awk é imprimir portanto não precisa fazer 'nr=1234 {print}' basta fazer o testecomparando o número do registro (linha)
awk 'NR==1234' arquivo
Imprimir o nome dos usuários acima de um determinado GID
awk -F":" '{if ($4 >= 1000) print $1}' /etc/passwd
Imprimir nome de usuário o id
awk -F":" '{ print "username: " $1 "\t\tuid:" $3" }' /etc/passwd
Programa que imprime o tamanho da maior linha
awk '{ if (length($0) > max) max=length($0) } END { print max }' texto.txt
Imprimir linhas maiores que 80 caracteres
length($0) > 80
visualizando logs do squid
tail -f /var/log/squid/access.log | awk '{print "Host: "$3 "site: "$7}'
Imprimindo um trecho de arquivo no awk
awk '/start_pattern/,/stop_pattern/' file.txt
Mostrar usuários com ID acima de 1000
awk -F":" '$3 > 1000 {print $0}' /etc/passwd
Modificando o separador de registros e de campos
Se você tem o arquivo...
1 2 3 4 5 teste 6 7 8 9 10 teste 11 12 13 14 15 teste 16 17 18 19 20 teste
... e quer definir como delimitador de registros a palavra "teste"
e o delimitador de campos para quebra de linha faça:
awk 'BEGIN { FS="\n"; RS="teste"} {if (NR=="2") print }' teste.txt
Imprimir valores negativos
Como imprimir somente os valores negativos usando o awk?Queremos imprimir somente os valores negativos do seguinte arquivo
-5232,-92338,84545,34 -2233,25644,23233,2 6211,-1212,4343,43 -2434,621171,9121,-33
awk 'BEGIN {RS=",|\n"}/^-/ {print}' file.txtIndicamos duas alternativas para o Separador de Registros, vírgula ou quebra de linha ", | \n" assim ele considera cada valor
como sendo uma linha, em seguida usamos uma expressão regular para pegar o começo de linha com o sinal de menos
Remover linhas em branco
awk 'NF>0' texto.txt
Modificar campo 2 mediante uma condição
awk '{print $1,($2<0.1) ? 0.0 : $2}' file1.txt
Imprimir somente usuários com UID igual a 1.000 ou maior
awk -F: '$3 > 999 {print $0}' /etc/passwd
Imprimir a última linha
awk 'END {print $0}' /etc/passwd
contar o número de linhas em um arquivo
awk 'END { print NR }' <arquivo>
Problemas da lista shell script
Olá pessoal... tenho o seguinte arquivo: cat file.txt bdacp tty1 Thu Nov 13 12:16 - down (00:31) bdacp tty3 Thu Nov 13 12:53 - down (00:13) bdacp tty3 Thu Nov 13 13:09 - down (02:34) reboot system boot 2.4.31 Thu Nov 13 12:15 (00:32) reboot system boot 2.4.31 Thu Nov 13 12:48 (00:18) reboot system boot 2.4.31 Thu Nov 13 13:07 (02:35) teste pts/0 Thu Nov 13 12:53 - 12:53 (00:00) teste tty2 Thu Nov 13 12:51 - 12:55 (00:04) teste tty2 Thu Nov 13 13:09 - 13:31 (00:22) usuario pts/0 Thu Nov 13 12:49 - 12:50 (00:00) usuario tty1 Thu Nov 13 12:49 - 13:04 (00:14) usuario tty1 Thu Nov 13 13:09 - 13:23 (00:14) e preciso dessas informações bdacp 12:16 - down (00:31) bdacp 12:53 - down (00:13) bdacp 13:09 - down (02:34) reboot 12:15 (00:32) reboot 12:48 (00:18) reboot 13:07 (02:35) teste 12:53 - 12:53 (00:00) teste 12:51 - 12:55 (00:04) teste 13:09 - 13:31 (00:22) usuario 12:49 - 12:50 (00:00) usuario 12:49 - 13:04 (00:14) usuario 13:09 - 13:23 (00:14) solução awk '{$1, $6, $8, $9}' arquivo
print the total number of lines that contain "Beth"
awk '/Beth/{n++}; END {print n+0}' file
sequencia de fibonacci em awk
seq 50| awk 'BEGIN {a=1; b=1} {print a; c=a+b; a=b; b=c}'
Awk - replace blank spaces with single space
Fonte: http://unstableme.blogspot.com/2009/11/awk-replace-blank-spaces-with-single.htmlInput file 'file.txt' contains fields separated with uneven spaces (or tabs)
$ cat file.txt 6767 1212 9090 12 657676 1212 21212 21232 76767 12121 909090 121212 12 9090 1212 21
Required: Replace one or more space with single space or single tab or comma.
The solutions using awk:
$ awk -v OFS="," '$1=$1' file.txt Output: 6767,1212,9090,12 657676,1212,21212,21232 76767,12121,909090,121212 12,9090,1212,21
$ awk -v OFS="\t" '$1=$1' file.txt Output: 6767 1212 9090 12 657676 1212 21212 21232 76767 12121 909090 121212 12 9090 1212 21
$ awk -v OFS=" " '$1=$1' file.txt Output: 6767 1212 9090 12 657676 1212 21212 21232 76767 12121 909090 121212 12 9090 1212 21
Recebendo variáveis do shell
read_val=0301; awk -v var=${read_val} '{sub(/0019/,var); print}' infile
echo "Enter ID: " read ID awk -v ID=$ID 'NR==14{ print ID}{print}' "file" # assim dá pra usar o argv para passar alguns parâmetros no script awk 'BEGIN {print ARGV[5]}' 1 2 3 4 5 6 7 awk 'BEGIN {print ARGV[5] "\n" ARGV[3]}' 1 2 3 4 5 6 7 awk -v sq=`pwd` 'BEGIN {print "você está em " sq}'
extraindo dados de um arquivo
Você tem um arquivo assim:a.txt {some data} success!! b.txt {some data} success!! c.txt {some data} error!!deseja a seguinte saida:
a.txt: success b.txt: success c.txt: error
com awk dá pra fazer assim:
awk 'BEGIN {RS="\n\n"} {gsub("!!","",$NF);print $1": "$NF}' teste.txt # um jeito bem mais simples awk '{print $1": "$4}' RS="\n\n" results.txt
juntando linhas a cada 5 linhas
Pessoal, tenho uma comando que gera a seguinte saida, onde a unica padronagem é uma sequencia de 5 linhas: 0 r5 751625160 601300096 391584768 1 r5 1401393800 1121115008 621056 12 r5 1401393800 1121115008 68344320 45 r5 1401393800 1121115008 1235456 223 r5 2522508840 2242230016 388346880 Eu precisava gerar a saida neste formato, em 5 colunas: 0 r5 751625160 601300096 391584768 1 r5 1401393800 1121115008 621056 12 r5 1401393800 1121115008 68344320 45 r5 1401393800 1121115008 1235456 223 r5 2522508840 2242230016 388346880 Como poderei fazer? Obrigado, Alessandro Almeida.solução
awk '{printf("%s%s", $0, (NR%5 ? " " : "\n"))}'
como saber se seu sistema é 32 ou 64 bits?
file /bin/bash | awk '{print $3}'
processando html com o awk
#!/bin/bash awk ' { print $0 if(NR % 8 == 0 ) print "<tr>" } ' file.csv > file1.csv #Or, directly on the command line: awk ' {print $0; if(NR % 8 == 0 ) print "<tr>"} ' file.csv > file1.csv
Assinar:
Postagens (Atom)