Mostrando postagens com marcador Ferramentas Administração Redes. Mostrar todas as postagens
Mostrando postagens com marcador Ferramentas Administração Redes. Mostrar todas as postagens

sexta-feira, 14 de setembro de 2012

Glances - Um Excelente Software de Monitoramento de Processos e Perfomance

screenshot
Olho em Seu Sistema!

Este é o lema principal do glances. Em uma tela só, números sobre processos, cpu, memória e outros parâmetros que são essenciais para um Sysadmin manter o monitoramento dos seus servidores ao alcance dos seus olhos.

Glances é um software de monitoramento CLI (Command Line Interface) baseado em Curses. Não espere gráficos, imagens e animações... É um software de monitoramento presencial. ;)

A página oficial é esta: http://nicolargo.github.com/glances/ e é mantido pelo  programador Nicolas Hennion. O Software é feito em Python

A Interface dele trás  dados imediatos sobre:
  • O uso do processador (por core, por processador);
  • Carga do Sistema 
  • Uso da Memória RAM;
  • Uso da Memória SWAP;
  • Quantidade de processos (ordenado por uso de CPU, Memória ...);
  • Uso das placas de rede;
  • Uso dos HDs e partições (Inputs e Outputs);
  • Uso de espaço das partições e dispositivos de armazenamento.

A Tela é simples, mas é atualizada a cada segundo e tem tudo que um Sysadmin precisa.

Veja este exemplo numa interface de 80x24 linhas (Uma tela típica de console)

screenshot


Outro exemplo ele em uma tela maior (wide) de 90x24.

screenshot

Note no exemplo da figura acima, que  ele gera alertas quando alguns limites são alcançados.

Dica:
Não espere gerenciar processos com o Glances, para isso use o HTOP que abordei neste tópico: http://www.dailson.blogspot.com.br/2012/05/gerenciamento-de-processos-no-linux.html

Instalação:

Pré-requesitos:
  • Python 2.6 ou superior;
  • Para Distribuições baseadas em Debian, o Pacote build-essential  (para instalação  via Pypi e setup.py);
  • Para Distribuições baseadas em Redhat/Fedora/CentOS, o Pacote Development Tool  (para instalação  via Pypi e setup.py);
  • python-dev (para instalação via Pypi);
  • python-setuptools (para instalação via setup.py);
  • python-psutil 0.4.1 ou superior;
  • python-jinja2 2.0 ou superior (opcional para exportar HTML );
Se você for instalar via apt-get ou yum não se preocupe, todas estas dependências são resolvidas automaticamente.

Método 1: Instalando em Distribuições Debian.

$ sudo apt-get install python-pip build-essential python-dev
$ sudo pip install glances

Método 2: Utilizando os repositório PPA no Ubuntu/Mint...

$ sudo add-apt-repository ppa:arnaud-hartmann/glances-stable
$ sudo apt-get update
$ sudo apt-get install glances



Método 3: Compilando através do código fonte

$ wget -O /tmp/glances-last.tgz https://github.com/nicolargo/glances/tarball/master
$ sudo apt-get install python-setuptools build-essential python-dev
$ cd /tmp
$ tar zxvf glances-last.tgz
$ cd nicolargo-glances-*
$ sudo python setup.py install



 Para executar, basta apenas digitar

$ glances

 Por padrão, o glances atualiza a tela a cada segundo, se quiser mudar o tempo, use o parâmetro -t

$ glances -t 5

O Status das Cores
É importante ressaltar aqui o que cada cor representa no glances
VERDE: Tudo Certo!
AZUL: Atenção ...
MAGENTA: Cuidado ...
VERMELHO: Estado Crítico!

Durante o uso do Glances, você pode utilizar algumas teclas de atalho para mudar o comportamento dele.
h --> exibe ajuda
c --> ordena os processos por consumo do processador
d --> habilita/desabilita a exibição do Status de I/O do Disco
f --> habilita/desabilita a exibição do Status de I/O dos arquivos
I --> habilita/desabilita os logs (alertas no fim da tela quando algum limite é alcançado).
n --> habilita/desabilita a exibição do Status de I/O das placas de rede
p --> ordena pelo nome dos processsos
q --> sai


As colunas exibidas pelo Glances são:

  • VIRT: Memória virtual em bytes
  • REST: Total residente em memória em bytes
  • CPU%: % de CPU utilizada
  • MEM%: % de MEM utilizada
  • PID: Identificador do Processo
  • USER: Usuário dono do Processo
  • NI: Prioridade do processo.
  • S: Status do processo:
    • R - Running
    • D - Sleeping (não pode ser interrompido)
    • S - Sleeping (pode ser interrompido)
    • T - Traced ou Stopped
    • Z - Zombie
    • IO Read and Write
    • TIME+: Uso total da CPU em tempo
    • NAME: Nome do processo
Fonte:
 http://nicolargo.github.com/glances/

Este software foi uma dica de Luciano Domingues, da Suporte Informática.

terça-feira, 8 de maio de 2012

Cálculo de IP

Para fazer cálculos de IP rapidamente, utilize o site:

http://jodies.de/ipcalc

Se tiver usando o Linux, siga esta dica retirada do VivaoLinux:
www.vivaolinux.com.br/dica/GIP-Calculadora-de-Endereco-IP

GIP - Calculadora de Endereço IP

GIP é um software que ajuda os administradores de sistemas e redes para realizar cálculos de endereços IPs.

Por exemplo, um administrador que precisa saber qual endereço IP é igual a máscara de rede IP 255.255.240.0. Ele também pode dividir sub- redes usando uma máscara de rede IP. Isso ajuda muito e facilita o trabalho do Administrador que não precisa perder muito tempo calculando o endereço IP.

Para a instalação é simples:

$ sudo apt-get install gip

Pronto. Já esta instalado e para executar use o comando:

# gip
Linux: Calculadora de Endereço IP com GIP

sexta-feira, 5 de agosto de 2011

Arranhando roteamento avançado em Linux

"Esse é para as pessoas que algum dia já conectaram duas placas de redes em um equipamento Linux e nada funcionou direito..."

luizluca: Arranhando roteamento avançado em Linux:


sexta-feira, 24 de julho de 2009

Medindo velocidade da conexão com Bing


O Bing é um software usado para medir à conexão de determinado link entre dois computadores. Escrito por Pierre Beyssac e licenciado pela GPL, este software é muito eficaz na hora de medir o peso de determinana conexão.

Para entender melhor a função do mesmo, imagime que em sua casa ou na empresa na qual você possa ser um colaborador, umas das ferramentas de comunicação ou de transporte de arquivos pesados é uma pratica de prioridade O. Empresas de publicidade e propaganda, que utilizam em grande escala o tranporte de imagens com uma resolução de estremo tamanho, gif's animados, arquivos de mp3 etc. Com crecente fuxo de sua rede as conexões de 100Mb/s acabam não trabalhando com a com a mesma proporção e o que valerá é a capacidade de conexão de um ponto ao outro. (Host_A <==> Host_B). Ficamos as veze s imagimando qual é o motivo de determinadas variasões inesplicaveis em nossa rede na hora de uma tranferencia de determinado conteudo.

O Bing utiliza o protocolo ICMP naturalmente, emitindo um pacote ICMP com pedido de resposta e analisa a mudança resultante do RTT. Variando um pouco o RTT, o Bing faz medidas de cada múltiplo que está sendo medido.O envio de pacote pelo Bing só é possível por que ele utiliza o icmp_dev, onde o sistema de exploração não e o único permitidos para fazer envio de pacote, naturalmente usaria sockets primários para essa finalidade mas o Winsock não suporta os soquetes primários. (no caso do windows)

Instalando o bing em sistemas de Unix e derivados

O Bing é um programa bem conhecido no mundo open source e muitos administradores de redes o utilizam para seus fins. Um dos objetivos da comunidade de software livre em geral é facilitar a vida dos usuários para que os mesmos não passem parte de seu tempo compilando pacotes, por isso as distribuições de ponta já incluem um vasto “cardapio” de programas em seu mirror. Com o Bing não é diferente. Ele está bem enraizado em vários mirrors. Para instalar o Bing, iremos mostrar duas formas convencionais que já sabemos. A primeira compilando o pacotes e outra através do mirror padrão.

Para fazer o download do arquivo tar.gz entre na seguinte url http://www.boutell.com/lsm/lsmbyid.cgi/002078vv.

A forma de instalação é simples, entre no diretório em que foi feito o download e descompacte o arquivo e de os seguintes comandos:

# make

# make install

Em meras oportunidades de instalar o Bing atravez dos mirros, vale lembrar a distro que está usando no momento, seja ela derivada do Debian ou Red Hat.

#apt-get intall bing, para os derivados do debian

# urpmi bing, para os derivados do Red Hat

Após instalado, podemos agora ver algumas de suas utilidades e seu funcionamento. Em muitos casos não são usados todos os seus parâmetros, mas isso não significa que os Bing não seja poderoso. Existem casos que administradores de redes possuem um conjunto de ferramentas especificas para realizar sua tarefas diárias, onde se aplica-se o seguinte ditado popula “cada caso, é um caso”.

Iniciando então o uso do software, experimente dar o seguinte comando para testar a velocidade de sua conexão.

bing ip_maquina_local ip_gateway

# bing 192.168.0.168 192.168.0.1

Em seguida de ctrl+c para que ele possa retornar a estatística, o qual na saída padrão exibirá todos os resultados de sua pesquisa. No final dos resultados estará apresentando o valor, ou seja o tamanho do link.

host bandwidth ms

warning: rtt big 192.168.0.168 0.013ms <>

192.168.0.1 21.787Mbps 0.121

Esse procedimento é o mais correto para medir a conexão, pois ela mede a conexão real entre dois hosts, ao contrário de alguns metodos que algumas pessoas usam. É possível também determinarmos o tamanho do pacote enviado dando o seguinte comando:

# bing -S 1000 192.168.0.168 192.168.0.1

Cuidado! Não aumente muito o tamanho do pacote porque isto podia provocar a fragmentação/remontagem do IP sobre a ligação para medir o *or* nas ligações intermediárias, ao qual acima as medidas tomadas. Se você permanece abaixo de 1400 bytes, você está seguro (exceto no SLIP lig onde você não deve ultrapassar 1000).

Com a opção -v podemos também verificar tamanho de bytes que são disparados para fazer o pedido de resposta, entendendo que ele joga dois valores para que possa se fazer a leitura precisa, disparando 72 bytes e 136 bytes.

Existe casos em que a medição não será precisa no caso de algumas conexões discadas por exemplo devido a limitação do hardware.

Em casos de ligações saturadas o bing trabalha medindo rtts, onde na hora da medida haverá um atraso minimo na hora de fazer a leitura do pacote. Conexões IP/X25 faz à capsulagem em pacotes pequenos, por isso é muito difícil saber a capacidade “exata” porque o consumo geral pelo pacote do IP não são fixas e não variam com o tamanho de pacote. Entretanto, um Bing inteligente poderia encontrar o tamanho encapsulating lentamente aumentando o tamanho de pacote e detectando etapas no RTT.

Sabendo as perdas do pacote em host 1 e em host 2, é ser possível computar a perda entre os mesmos.

O Bing tem o poder de calcular determinadas perdas, mas vale resaltar que essas perdas são desŕesiveis, em relão ao resultado obitido na saída padrão.

Está é uma das diversas ferramentas que o mundo de código aberto pode lhes apresentar.

Este tutorial foi gentilmente cedido por:

José "Kurumin" Cleydson do site http://www.gnu-lia.org

Este tutorial está postado originalmente em http://www.gnu-lia.org/index.php?option=com_content&task=view&id=159&Itemid=36&limit=1&limitstart=0

quarta-feira, 15 de julho de 2009

Limite o uso de CPU por processo


O cpulimit é um simples programa que limita o uso da cpu por um processo (expresso em porcentagem, e não por tempo de cpu). Isso é útil para controlar jobs em batch quando você não quer permitir que estes consumam muita cpu.
Ele não age sobre o valor nice ou qualquer outra coisa relacionada ao agendamento de processos. E também é capaz de se adaptar à carga do sistema, dinamicamente e rapidamente.

Para usar o cpulimit primeiro faça o download em http://downloads.sourceforge.net/cpulimit
e extraia os arquivos, use o terminal para ir até a pasta dele e:

# make
# cp cpulimit /usr/local/sbin/ # rm -rf cpulimit*

Usuários Ubuntu: tudo que você tem que fazer é abrir o terminal e digitar:

# sudo apt-get install cpulimit

Exemplos do cpulimit:
Limitar o processo 'bigloop' através do nome do executável para 40% de CPU:

# cpulimit -e bigloop -l 40
# cpulimit -e /usr/local/bin/bigloop -l 40


Para o Firefox, você tem que digitar:

# cpulimit -e firefox -l 40

Limita o processo pelo PID pra 55% de CPU:

cpulimit -p 2960 -l 55

Inicializa um processo por linha de comando e o limita para 40%(apenas na versão em desenvolvimento!):

# cpulimit -l 40 /etc/rc.d/rc.boinc start

Para descobrir o PID de uma aplicação, simplesmente digite isso em um terminal:

-Para todas as aplicações que estão rodando:

# ps -e

-Para uma aplicação específica (por exemplo o Firefox):

# pidof firefox

Notas

Se a sua máquina tem um processador você pode limitar a porcentagem de 0% a 100%, o que significa que se você setar por exemplo em 50%, o seu processo não pode usar mais do que 500ms de tempo de cpu para cada segundo. Mas se sua máquina possuir quatro processadores, a porcentagem pode variar de 0% a 400%, então setando o limite para 200% significa não usar mais do que metade da potência. Em qualquer caso, a porcentagem é a mesma que você vê quando executa um top.

O cpulimit deve rodar pelo menos com o mesmo usuário que está rodando o processo controlado, mas é muito melhor se você rodar o cpulimit como root, para que se tenha uma prioridade mais alta e um controle mais preciso.
Atualmente o cpulimit também limita os processos filhos(children) do processo especificado.

Traduzido do artigo:
http://webupd8.blogspot.com/2009/05/limit-cpu-usage-by-process-linux.html

Esta tradução foi gentilmente elaborada pelo meu colega de trabalho:
Rennê Lyra
Engenheiro de Software

quinta-feira, 20 de novembro de 2008

Controlando a taxa de download e upload de qualquer programa com o Trickle



Você pode controlar a taxa de download e upload de um programa que não possui esse controle interno através do trickle. Trickle em inglês quer dizer gotejar ou escorrer de modo devagar. É um conta gotas de conexão de rede.

Dependendo da sua distribuição linux, use o comando para instalar, mas em geral siga os passos abaixo:

Debian e afins
# apt-get install trickle

Fedora e Afins
# yum install trickle
ou ainda
# apt-get install trickle

# Gentoo, Librix...
emerge trickle

# Mandriva
# urpmi trickle

As opções do comando são as seguintes:
-s: Roda em modo standalone, sem precisar de um daemon
-d: Taxa de download em KBps (KiloBytes)
-u: Taxa de Upload em KBps

Exemplos:
Você quer limitar o uso de banda quando navega na internet com o firefox:
# trickle -s -d 10 -u 5 firefox

Quer baixar uma imagem do ubuntu com o wget mas sem detonar a banda do seu trabalho:
# trickle -s -d 15 -u 5 wget http://mirror.globo.com/ubuntu/releases/intrepid/ubuntu-8.10-desktop-i386.iso Iso limitará o download a 15KBps

Você deseja fazer uma atualização geral do seu sitema com o apt-get. Para isso tem duas formas.
Ou você usa o trickle:
# trickle -s -d 10 -u 5 apt-get upgrade # trickle -s -d 10 -u 5 apt-get dist-upgrade

Ou você usa o próprio controle de banda do apt-get, desta forma:
Abra o arquivo /etc/apt.conf (se não tiver este arquivo escreva em: /etc/apt/apt.conf.d/70debconf)

// // Acquire { http { Dl-Limit "x"; // x Kb/sec maximum download rate } } // //

O Desenvolvedor do Triclke é o Marius Aamodt Eriksen - marius@monkey.org e a página do programa é http://monkey.org/~marius/pages/?page=trickle

terça-feira, 5 de agosto de 2008

Backup Incremental de Servidores e Estações Windows em Servidores Linux com o RSYNC


Backup de Servidores e Estações Windows com o RSYNC.

Este Artigo está publicado no VivaoLinux em
http://www.vivaolinux.com.br/artigo/Utilizando-o-RSYNC-para-fazer-backups-de-servidores-e-estacoes-Windows

1. Introdução

Quem utiliza o RSYNC para fazer backups entre máquinas Linux, sabe como é fácil manter backups centralizados e atualizados de forma fácil, eficiente e segura. E ainda mais se sua unidade de fita for em um servidor linux (como é o meu caso), você pode deixar seus scripts de backup rodando para reunir todos os dados importantes em uma única máquina para depois fazer o backup em fita magnética.

Antigamente (ou atualmente dependendo do Administrador da Rede) quando queríamos fazer backups entre servidores remotos e centralizá-los, geralmente utilizávamos o FTP, que através de alguns comandos é possível fazer a conexão, login e senha automático e ainda mandar todos os arquivos para serem feitos backups em um servidor.
O Grande problema ai é que o FTP manda a senha em texto plano pela rede e seus arquivos podem ser capturados durante a transferência.

O Rsync, como o nome sugere, é um programa que sincroniza remotamente os dados entre duas máquinas. Por ser baseado no antigo rcp (remote copy), o software herdou as propriedades de criptografia do protocolo SSH, o que torna sua transmissão de dados mais segura que o FTP.

Além das propriedades de segurança, o rsync utiliza o protocolo remote-update, o que aumenta assustadoramente sua velocidade e diminui a quantidade de dados transferidos, pois são trocados entre os servidores somente as diferenças entre dois grupos de arquivos.

Se alteramos uma dúzia de arquivos numa porção de centenas, ao executar um rsync do seu desktop para o servidor, somente os arquivos alterados serão enviados por upload e você ainda não corre o risco de algum espertinho utilizando um sniffer na rede capturar sua senha de FTP em texto plano.

Resumindo, existem pelo menos quatro situações onde o rsync pode te ajudar:

* copiando (ou sincronizando) arquivos entre dois diretórios locais;
* copiando (ou sincronizando) arquivos de sua máquina local para um servidor remoto;
* copiando (ou sincronizando) arquivos de um servidor remoto para sua máquina local;
* listando os arquivos de um diretório no servidor remoto (como um "remote ls").

Só uma curiosidade, o Rsync é feito pelo Andrew Tridgell, o mesmo autor do SAMBA.
Veja em: http://samba.anu.edu.au/rsync/

2. Como usar o RSYNC e SSH no Windows????

Vocẽ deve estar pensando em instalar o CYGWIN (http://www.cygwin.com/) para começar a o ssh e rsync não é? ESQUEÇA! Deixe o CYGWIN pra lá, existe um aplicativo chamando cwRsync que instala apenas o necessário para sua máquina Windows se comunicar com qualquer servidor Linux na hora, feito caldo de cana! E ainda é possível fazer um servidor, ou seja, o Windows ser um servidor Rsync para sincronização nas duas vias: Windows -> Linux e Linux -> Windows. Mas isto é objeto para outro artigo.

Uma dica, se você quiser basta copiar o diretório c:\Arquivos de Programas\cwRsync para qualquer estação que tem o mesmo efeito de usar o executável da instalação.

Bom, no Linux, já está tudo pronto, não precisa fazer nada (basicamente), pois a maioria das distribuições já trazem o ssh e rsync instalados por padrão, caso não tenha na sua distribuição, instale com o gerenciador de pacotes da sua preferência, ou baixe o código fonte e compile!

Rsync:
http://samba.anu.edu.au/rsync/

SSH:
http://www.openssh.com/

3 - A idéia!

O principal para mim é fazer os backups dos arquivos importantes do usuário sem que ele perceba que todos os seus dados estão sendo guardados de forma segura independente da vontade dele.
Por exemplo, você quer guardar os documentos da empresa ou ainda os emails corporativos.
Se você deixar esta responsabilidade nas mãos do usuário... bom ... você já sabe...
Mas que tal deixar uma tarefa agendada que faz isso diariamente... ????

4 - Obtendo e Instalando o cwRsync.

Você pode obter o cwRsync http://sourceforge.net/project/showfiles.php?group_id=69227&package_id=68081&release_id=615606

Basta baixar o primeiro arquivo: cwRsync_2.1.4_Installer.zip

Instale cwRsync_2.1.4_Installer.zip. confirmando todas as opções.

Pronto! Foi criado na pasta C:\Arquivos de Programas um diretório chamando cwRsync.
Lá contem os binários do ssh e rsync e um arquivo de exemplo que é auto explicativo, porém vamos a alguns exemplos.

4 - Configurando o Arquivo .bat ou .cmd para fazer a Sincronização.

O Funcionamento é simples, mas devem existir no cabeçalho do arquivo, a declaração de algumas variáveis, então deixa sempre o cabeçalho do arquivo desta forma:

@ECHO OFF
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%

E logo abaixo destas linhas, pode começar a escrever as linhas que vão copiar seus diretórios e/ou arquivos para um servidor remoto.

5 - Exemplos

Em primeiro lugar, precisamos convencionar que:

C:\ para o rsync é /
C:\Arquivos de Programas para o Rsync é /"Arquivos de Programas"
C:\Arquivos de Programas\Microsoft Office para o Rsync é /"Arquivos de Programas/"Microsoft Office"

Opções:
--recursive ou -r = Cópia Recursiva, ou seja todos os arquivos e subdiretórios abaixo do diretório informado
-a = modo arquivo
-v = Modo detalhado (Verbose)

Então vamos aos exemplos:

Obs: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Para o exemplo usaremos o servidor 192.168.0.1
Usuário do Servidor: root
Local: Um HD de Backup montado em /media/hd_backup

1 - Fazer Backup dos Emails do Outlook do Usuário Dailson
rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

2 - Fazer o Backup da Pasta C:\Sistema Empresa:
rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

3 - Guardar a Pasta Meus Documentos do Usuário Dailson:
rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

4 - Guardar a Pasta HOME inteira do Usuário Dailson:
rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

5 - Fazer backup da Pasta do Banco de Dados da Empresa: C:\Banco de Dados
rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup

Obs1: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Então um script backup.bat completo com os exemplos acima ficaria desta forma:

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync -av --recursive /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync -av --recursive /"Banco de Dados" root@192.168.0.1:/media/hd_backup

6 - Opções que você deve saber

1 - Mantendo a Imagem do Backup idêntica a origem

Um backup feito com rsync vai ser feito de forma incremental. Porém se o usuário renomear um arquivo, apagar ou mover da origem (Por exemplo da pasta Meus Documentos) o rsync irá copiá-lo novamente. E irá ficar um fantasma no destino, ou seja. Se o usuário apagar alguns arquivo, eles continuaram no backup e o efeito colateral disso é que o backup irá crescer sem parar.
A idéia é fazer o seguinte, quando o usuário apagar um arquivo, o arquivo deve ser apagado do backup também.
A opção do rsync que faz isso é

--delete

Então a linha Correta para o backup da pasta meus documentos do exemplo anterior seria:

rsync -av --recursive --delete /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

2 - Evitando backup de alguns arquivos.

Você não deseja detonar seu espaço em disco com as músicas e filmes do seu usuário não é? Você pode dizer ao rsync para evitar alguns tipos de arquivos, bastando para isso usar a seguinte opção:

--exclude="O que se quer evitar"

Exemplo:

Vou evitar que vá para o backup os seguintes arquivos:

Arquivos de música (MP3, OGG, WAV, WMA...)
Arquivos de Filme (AVI, MPEG, MPG, FLV, MP4, WMV, AMV ...)
Programas e arquivos temporários (EXE, COM, TMP)
Fotos e imagens (JPG, JPEG, BMP ...)

Basta você separar com espaço e colocar quantas excessões quiser. E ainda pode utilizar coringas.
Por exemplo:

--exclude=*.jpg --exclude=*.avi --exclude=*.mp3 ...

O Nosso exemplo da pasta Meus Documentos já com estas opções tratadas neste tópico ficariam deste jeito:

rsync -av --recursive --delete -e "ssh -p 16117" --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com --delete /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

Neste caso, o Script completo ficaria desta forma:

Obs: Lembrando que todas as linhas abaixo são inteiras com enter apenas no final

Grave ele na raiz do C:\ e chame de backup.bat

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%

rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync -av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com /"Banco de Dados" root@192.168.0.1:/media/hd_backup

7 - Simplificando o Script

Ao invés de ficar passando as opções em todas as linhas de comando, podemos simplificar o script colocando todas elas no início como uma variável.
Desta forma:

set opcoes=-av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com

Então o script ficaria desta forma:

@ECHO OFF
REM *********************************************************
REM Script de Backup
REM Autor: Dailson Fernandes
REM Data: 01/08/2008
REM Função: Faz o backup das pastas importantes do usuário
REM *********************************************************
SETLOCAL
SET CWRSYNCHOME=%PROGRAMFILES%\CWRSYNC
SET CYGWIN=nontsec
SET HOME=%HOMEDRIVE%%HOMEPATH%
SET CWOLDPATH=%PATH%
SET PATH=%CWRSYNCHOME%\BIN;%PATH%
set OPCOES=-av --recursive --delete --exclude=*.tmp --exclude=*.*~ --exclude=*.jpg --exclude=*.avi --exclude=*.mp3 --exclude=*.mp4 --exclude=*.wav --exclude=*.flv --exclude=*.wma --exclude=*.mpeg --exclude=*.mpg --exclude=*.wmv --exclude=*.exe --exclude=*.amv --exclude=*.com

rsync -av /"Documents and Settings"/dailson/"Configurações Locais"/"Dados de aplicativos"/Microsoft/Outlook/outlook.pst root@192.168.10.202:/media/backup

rsync %OPCOES% /"Sistema Empresa" root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Documents and Settings"/dailson/"Meus documentos" root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Documents and Settings"/dailson root@192.168.0.1:/media/hd_backup

rsync %OPCOES% /"Banco de Dados" root@192.168.0.1:/media/hd_backup

Simplificou bastante!!!

8 - Usando a Tarefa agendada ou o AT do Windows

Bom, já que todo o trabalho está feito, só falta agendar a tarefa para que este script seja executado diariamente, ou de acordo com a sua necessidade.
Mas não custa nada lembrar, que da primeira irá acontecer o seguinte:

1 - Somente da primeira vez que você rodar o script, o rsync (ssh) irá pedir para você aceitar a chave do host no qual você está mandando os dados. Para isso basta digitar yes e pronto. Esta pergunta não irá acontecer novamente.

2 - A primeira cópia é completa e dependendo da quantidade de dados irá demorar um pouco. Porém se imediatamente após a cópia você chamar o script novamente, irá ver que o rsync não vai fazer nada. O Rsync a partir da segunda cópia, só vai copiar os arquivo que foram alterados, criados ou irá deletar do backup o que foi deletado da origem.

3 - Para agendar a tarefa deste script rodar automaticamente diariamente ou a sua escolha vá em tarefas agendadas do windows em Iniciar/Programas/Acessórios/Ferramentas/Tarefas Agendadas. Ou se preferir, use o AT do windows, que é um agendador de tarefas semelhante ao do linux que também roda em linha de comando.
Se quise aprender sobre o AT no Windows, visite a seguinte página:

http://support.microsoft.com/kb/313565/pt-br

9 - Fazendo com que o backup não peça senha

Antes da cópia começar, o login é feito via ssh. Nesta hora o login é passado pela string root@192.168.0.1:/media/hd_backup, porém imediatamente depois é solicitada a senha.
Então este incomodo é gerado, ou seja, toda vez que a tarefa agendada iniciar o script de backup, a senha será solicitada. E se o usuário não tiver na frente do computador? Ou se esse backup for feito de madrugada?
Para resolver este problema, basta gerar as chaves pública e privada e fazer com que o cwRsync comece o backup sem intervenção humanda.

1 - Gerando as chaves

No servidor linux, gere as chaves públicas e privadas da seguinte forma:
No usuário que você irá fazer a conexão sem senha (vou utilizar o root como exemplo)

Digite no terminal:

ssh-keygen

Quando perguntado para entrar com uma "passphrase", apenas tecle "Enter" duas vezes para que fique em branco, caso contrário esta frase precisará ser digitada posteriormente.

A saída do comando é esta:

Generating public/private rsa key pair.
Enter file in which to save the key
(/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in
/root/.ssh/id_rsa.
Your public key has been saved in
/root/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx

Pronto foram geradas suas chaves públicas e privada dentro do diretório /root/.ssh
São elas:
/root/.ssh/id_rsa (A privada)
/root/.ssh/id_rsa.pub (A pública)

Agora faça o seguinte:

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

É importante que a chave pública (id_rsa.pub) seja adicionada (usando o sinal de maior maior ">>") dentro do arquivo "authorized_keys", pois podem haver outros clientes registrados neste mesmo arquivo.

E pegue o arquivo /root/.ssh/id_rsa (a sua chave privada) e copie no seguinte diretório na sua máquina windows:
c:\Documents and Settings\seu_usuario\.ssh

Pronto!

Agora roda novamente o backup.bat e veja que o backup é feito sem nenhuma interferência.

A chave Privada está em "/root/.ssh/id_rsa" e a Pública em "/root/.ssh/id_rsa.pub".

10 - Conclusões e Créditos

Este Artigo está publicado no VivaoLinux em
http://www.vivaolinux.com.br/artigo/Utilizando-o-RSYNC-para-fazer-backups-de-servidores-e-estacoes-Windows

Bom. Estou compartilhando a solução que achei em meu trabalho de fazer backups de Servidores e Estações Windows de forma segura e íntegra.
Utilizo esta forma a alguns anos sem quaisquer tipos de problemas.
Existem muito mais opções que podem ser utilizadas com rsync. Para isso consulte o manual. Ele é muito bom e explicativo.

Se você tiver no linux, digite man rsync ou consulte ele na web em http://www.samba.org/ftp/rsync/rsync.html

A Introdução foi retirada do artigo de Fábio Bebert de Paula em http://www.vivaolinux.com.br/artigo/Transferindo-arquivos-com-o-rsync/

Geração de Chaves:
http://www.vivaolinux.com.br/artigo/Conexoes-SSH-sem-senha-facil-e-descomplicado/

E Lembrem-se ...

Flames > /dev/null!!

terça-feira, 10 de junho de 2008

Bloqueando Ligações Perigosas...


Que tal não aceitar conexão das redes maliciosas mais famosas do mundo? Boa idéia? Mas como manter esta lista atualizada? Bom, existem provedores e serviços que mantem estas listas disponível a preços acessíveis, e algumas disponibilizam gratuitamente. É o caso da Spamhaus que é um dos mais eficazes serviços de combate a Spam e Malware que existe. Eles disponibilizam listas gratuitas e pagas. Claro que as melhores são as pagas, porém combato Spam aqui na minha rede utilizando a lista gratuita deles e tenho uma eficiência de mais de 95% e com mais alguns ajustes em outros parâmetros conseguimos diminuir o Spam em algumas contas de 80 a 100 por dia para apenas 1.
Mas não estamos aqui para falar de Spam, isto é outro post. Vamos aproveitar a lista de redes imundas da internet para não deixar nenhuma conexão entrar em nossa rede.

O Nome da lista é "DROP LIST - The Spamhaus Don't Route Or Peer List", ou seja nem conecte nem roteie nada para esta rede. Segundo o site, eles recomendam fortemente que você bloqueie qualquer tráfego para esta rede e eles garantem que a lista não incluem IPs válidos. E recomendam ainda que seja implementada em "Core Routers" e em Provedores de Internet.
Como você que está lendo este post deve ser um administrador de redes e provavelmente mexe com linux e iptables, segue um mini-script que baixa esta lista e bloqueia tudo!!!
A Lista original você encontra aqui.

O Script é simples basta baixar neste link.
Depois torne-o executavel com o seguinte comando:
chmod +x gera_black_list.sh

Depois execute o script
./gera_black_list.sh

Para visualizar as regras, digite em linha de comando
iptables -L

Para apagar as regras
iptables -F

Obs: Como esta lista é atualizada constantemente, vale a pena fazer um agendamento para que este script rode constantemente através do crontab. O Pessoal da spamhaus pede para que você não busque esta lista mais do que uma vez por hora. Ok?

Fonte:
http://www.spamhaus.org
http://en.wikipedia.org/wiki/Peering

Procurando rootkits no seu sistema


Saiu no Blog do Hugo Dória o seguinte texto:

"Rootkits são ferramentas utilizadas, geralmente, com o objetivo de ocultar a presença de invasores nas máquinas. Com essas ferramentas alguém não-autorizado, mas que já conseguiu entrar na máquina, pode ter controle sobre a máquina e nem ser notado.

Muitos rootkits acompanham uma gama de binários (como o ls, ps, who, find etc) modificados para que os processos rodados pelo invasor não possam ser vistos pelo administrador da máquina. Além disso, muitos vírus atuais utilizam rootkits.

Existem dois aplicativos que podem te ajudar a detectar rootkits no seu sistema: rkhunter e chkrootkit. A seguir eu mostro como instalar e executar ambos."


Como estamos trazendo uma série de ferramentas para administradores, recomendo a leitura deste artigo. Estas duas ferramentas já uso a bastante tempo aqui na Universidade e são estáveis e funcionam de forma satisfatória.

Não deixe de ler o artigo do Hugo em:

http://hdoria.archlinux-br.org/blog/2008/06/05/procurando-rootkits-no-seu-sistema/

quarta-feira, 4 de junho de 2008

AutoScan - Um Scanner de Rede Gráfico


O AutoScan é um scanner de rede que é capaz de explorar uma rede local e achar as máquinas, servidores, impressora e dispositivos de rede.
É bastante versátil e você pode rodar scripts de nmap e traz integração de alguns serviços com o firefox o nautilus. Traz MAC address, versões do sistema operacional, lista de serviços abertos em cada nó da rede e tem um visual muito interessante.
Saiu do Dicas Linux um tutorial sobre ele. Aconselho você a ir lá e testá-lo imediatamente. É um ferramenta interessantíssima.
Tem para Linux, Mac e Nokia.

Fontes:
Tutorial do Dicas Linux sobre a ferramenta
O Site oficial da ferramenta é este aqui
O Download da ferramenta fica aqui

quarta-feira, 16 de abril de 2008

Canivete Suíço do Sysadmin Parte 2

Montando Diretórios Remotos
utilizando o SSHFS e o FUSE

Nesta segunda parte do Canivete Suíço do Sysadmin, vou continuar falando sobre SSH, porém vou apresentar uma ferramenta espetacular!!!
Desta vez vamos usar o SSH via linha de comando mesmo e utilizaremos o módulo FUSE que é um sistema de arquivos que pode ser utilizando no espaço do usuário (User Space) que é graças a ele que hoje temos gravação/leitura de dados em partições NTFS. Pois é, o FUSE é um canivete suíço de Sistemas de Arquivos. Por isso vamos utilizá-lo junto com o Sistemas de Arquivos do SSH.
Antes de começarmos, é necessário instalar o SSFS

No Debian e correlatos:
apt-get install sshfs

No Fedora e correlatos:
yum install ssfs

No Mandriva:
urpmi sshfs

Ou então vá na página do desenvolvedor: http://fuse.sourceforge.net/sshfs.html e baixe o código fonte e compile

Depois de instalado é fácil montar diretórios remotos:

Exemplo:

sshfs root@192.168.0.1:/home /mnt

No exemplo acima, a raiz do disco da máquina 192.168.0.1 está acessível na pasta /mnt do seu micro.

Para desmontar, você pode utilizar o próprio comando umount

umount /mnt

ou ainda

fusermount -u /mnt

Montando Automaticamente o SSHFS no /etc/fstab
Se desejar, ainda pode ficar sendo montado automaticamente toda vez em que você ligar a máquina.
Para isso coloque o /etc/fstab a seguinte linha:

sshfs#root@192.168.10.254:/ /mnt fuse rw,nosuid,nodev,max_read=65536 0 0

Obs1: Estas opções são as opções padrão. Se você quiser mudar para suid e outras, consulte a seguinte página:
http://www.danilocesar.com/blog/2007/05/12/permissoes-em-particoes-sshfs/

Obs2: Uma boa dica aqui é você trabalhar com autenticação via chaves pública/privada, pois se não for desta maneira, toda vez em que você ligar a máquina será pedida a senha.

terça-feira, 8 de abril de 2008

Canivete Suíço do Sysadmin Parte 1

Montando Diretórios Remotos
utilizando o SSH
e a Interface Gráfica


Existem algumas maneiras de você manter todos os seus servidores Linux acessível a partir do seu Desktop. O ideal é que você que é Sysadmin Linux, utilize Desktop Linux ;) Mas se você usa o sistema de Janelas Coloridas também vou lhe dar ótimas dicas.
Vou listar algumas maneiras fáceis de manter seus diretórios remotos.

Aqui eu vou supor que você já usa SSH e sabe de todas as suas benesses... Mas se tiver dúvidas, posta aê ...

Primeira Forma: Utilizando a Interface Gráfica

A primeira maneira é utilizando a própria interface gráfica. Seja ela KDE, GNOME ou outra de sua preferência, existem maneiras práticas de colocar seus diretórios remotos a apenas um clique de distância.
Se você usa KDE, basta abrir o Konqueror e digitar na barra de endereços o seguinte:

fish://usuario@ip:/local

Exemplo:

fish://root@192.168.0.1:/

Isto fará que o diretório remoto da máquina 192.168.0.1 apareça



Alguns dizem que o protocolo FISH é muito instável (eu nunca percebi isto), e aconselham o uso do protocolo sftp que é do próprio ssh. Então basta trocar a palavra fish pelo sftp

sftp://root@192.168.0.1:/

Se você usa GNOME, ao invés de FISH, utilize SSH e claro, utilize o Nautilus. Na barra de endereços digite:

ssh://root@192.168.0.1:/

Depois de montado, as operações de copiar, colar e mover estão todas disponíveis como você estivesse em um HD local.

Para automatizar este processo e deixar todos os seus diretórios remotos configurados, basta você utilizar uma ferramenta do próprio KDE. Abra o Konqueror e digite:

system:/remote

E clique no ícone Adicionar uma pasta de Rede


Obs: Veja que nesta tela, você pode deixar vários recursos automáticos como FTP, Diretórios e Windows (Samba).
Escolha Shell Seguro (SSH) e preencha os dados do seu servidor remoto:


Depois disso você tem um ícone pronto para acessar um hd remoto.

No GNOME, esta automação também está presente a partir do menu Locais / Conectar ao Servidor...

terça-feira, 1 de abril de 2008

Ferramentas Indispensáveis do Administrador de Redes - SysAdmin


Vou começar a escrever sobre ferramentas que facilitam a vida do Administrador de Redes também conhecido como Sysadmin.


Algumas ferramentas, cobrem a parte de segurança também. Então tentarei chamar esta série de ferramentas do Canivete Suíço do SysAdmin. O Sysadmin também é conhecido como bombril, pois tem que cuidar de regras de segurança até a máquina de café quando dá problemas.








Outro dia aqui na empresa me chamaram até pra regular a cadeira que não queria ficar na altura correta. Eu me sinto meio que um irmão mais velho que "sabe de tudo" ... mas tudo mesmo que pode facilitar a vida dos outros.


Ontem ainda eu estava tentando concertar a nosso ponto eletrônico, o GERENCIADOR INNER DISQUETE, porém fui infeliz, após alguns pontos de solda foi impossível fazê-lo funcionar.


Se você tem vontade de entrar no teu CPD e se enforcar nos cabos de rede, se acalme... as coisas ainda vão piorar mais.

Sugestões de ferramentas serão bem vindas. Procurarei também trazer dicas de administração de redes e segurança. Se você não gostar das ferramentas, pelo menos se divirta com as imagens ;)