Backup do IIS

Segue abaixo um simples script que permite efetuar o backup do Microsoft Internet Information Services (IIS).


@echo off
set metadata="C:\WINDOWS\system32\inetsrv\MetaBack"
set iis= "c:\backup"


iisback /backup /b iisBackup /v 1 HIGHEST_VERSION /overwrite


cd %metadata%
copy iisBackup.* %iis%
cd \
echo fim da copia

O parâmetro /bakup habilita os demais parâmetros. Também existe o /restore que permite restaurar um backup realizado anteriormente. Segue a descrição dos parâmetros utilizados:

  • /b iisBackup: Descrição do arquivo de backup;
  • /v 1 HIGHEST_VERSION: Especifica o número de versão a ser atribuído ao backup. Pode ser qualquer número inteiro, HIGHEST_VERSION ou NEXT_VERSION. [Padrão: NEXT_VERSION];
  • /overwrite: Faz o backup mesmo se existir um backup com nome e versão idênticos no local especificado, substituindo-o, se necessário.

<update 12/05/2006> Publique hoje um novo post explicando como efetuar a restauração do backup do IIS. </update>

Logando atividades realizadas no shell

No dicas-l de hoje tem uma dica que publiquei entitulada: Logando atividades realizadas no shell. Explica sobre como armazenar em um arquivo, os comandos executados e suas respectivas saídas.

Bom para quem quer documentar algum processo realizado…

Como listar e matar processos pelo nome (e não pelo PID)

?? comum quando estamos trabalhando em um console linux e precisamos matar algum processo, executar um # ps aux | grep [PROGRAMA], pegar o PID e executar um # kill [PID] (ou kill -9 [PID]). Pois bem, se você ainda não conhece, deixe me falar (escrever) que é possível listar e matar os processos, utilizando para isso o próprio nome do processo. Para isso existem dois comandos encarregados desta tarefa, são eles o pgrep e o pkill.

O pgrep é responsável por pegar os processos em execução e listar seus IDs (PIDs), para isso o critério de seleção deverá ser completamente satisfeito. Por exemplo:

# pgrep httpd
Listará todos os PIDs de processos que tenham o nome httpd

Também é possível passar alguns parâmetros, como o -u que relaciona processos cujo o UID é efetivamente listado.

O pkill, por sua vez, enviará o respectivo sinal para cada processo que for listado (por padrão o SIGTERM) conforme o critério de seleção utilizado. Por exemplo:

# pkill -HUP syslogd
Fará com que o syslogd re-leia o arquivo de configuração.

Para maiores informações, consulte a página de manual destes comandos.

Corrigindo arquivos PST corrompidos

Quem utiliza o Outlook/Outlook Express já deve ter se deparado com uma corrupção do seu arquivo .PST (Pastas Pessoais). Existem diversas ferramentas que efetuam a correção desse arquivo, mas o que poucos sabem é que o próprio windows fornece uma aplicação para reparar arquivos .PST danificados: o scanpst.exe.

O scanpst pode ser localizado sob o menu Programas -> acessórios -> Ferramentas do sistema ou no diretório C:\Arquivos de programas\Arquivos comuns\System\MSMAPI\1033

No caso de pasta offline (.OST) utilizadas para acesso Offline a pastas do MS Exchange Server, pode-se utilizar a ferramenta scanost.exe localizada no diretório acima ou o próprio scanpst.exe.

Comandos MySQL

Segue alguns comandos úteis para o MySQL:

  • Alterar o valor do Auto Increment em uma tabela:

    mysql> ALTER TABLE <em>tabela</em> AUTO_INCREMENT=1;
  • Apresentar a estrutura de uma tabela:
    mysql> desc <em>tabela</em>;
  • Criar banco de dados e adicionar usuário para acesso:
    mysql> USE mysql;
    mysql> CREATE DATABASE bancodedados;
    mysql> GRANT ALL PRIVILEGES ON bancodedados.* TO usuario IDENTIFIED BY 'senha_do_usuario';
    mysql> FLUSH PRIVILEGES;
    
  • Tirar o privilégio de um usuário:
    mysql> USE mysql;
    mysql> REVOKE ALL PRIVILEGES ON bancodedados.* FROM usuário;
    mysql> FLUSH PRIVILEGES;
  • Remover um usuário:
    mysql> USE mysql;
    mysql> DELETE FROM mysql.user WHERE User='tatu';
    

Maiores informações sobre os comandos GRANT/REVOKE

Comandos PostgreSQL

Segue alguns comandos úteis para o PostgreSQL:

  • Alterar o proprietário de uma sequência:
    \c [TABELA];
    alter table [SEQUENCIA] owner to [USUARIO];
  • Alterar a senha do usuário postgres:
    \c template1;
    alter user postgres with password 'postgres_password';

VNC em servidores Linux

Em alguns casos precisamos acesso ao ambiente gráfico de um servidor linux remoto. Uma tecnologia que pode ser utilizada é o VNC (existem outras formas mais seguras que pretendo descrever em breve, mas esta é a mais rápida). Segue alguns dicas do uso desta ferramenta:

Para inicializar o VNC no servidor linux, execute o comando:
# vncserver.

Na primeira execução deste comando, será solicitado uma senha para acesso, informe-a. Após finalizado o comando, você estará pronto para acessar o servidor via VNC.
Iniciando o VNC

?? importante resaltar que o servico xfs deve estar rodando, caso contrário aparecerá a mensagem de erro:
Failed to set default font path ‘unix/:7100′ no arquivo de Log (/root/.vnc/servidor.com.br:1.log).
Para inicializar este serviço, execute o comando:
# service xfs start

Após o uso, se você desejar matar o processo do VNC para que nenhuma pessoa mal intencionada possa tentar invadir, execute o comando:
# vncserver -kill :1

Para trocar a senha:
# vncpasswd

Se inicializar um outro gerenciador de janelas (Gnome por exemplo), edite o arquivo /root/.vnc/xstartup e substiua a última linha de:
twm &
para:
/usr/bin/gnome-wm &

Pacotes necessários:

  • RedHat: vnc-server
  • Debian: vncserver

Comandos para manuseio de partições no Linux

Alguns comandos úteis de sistema de arquivos linux (EXT2/EXT3)

Criando (formatando) partição EXT2
# mk2fs.ext2 /dev/sdb1

Convertendo partição ext2 apra ext3
# tune2fs -j /dev/sdb1

Verificando integridade de partição ext3
# fsck.ext3 -y /dev/sdb1

Ferramentas de monitoramento

Monitoramento de Tráfego

Abaixo são apresentadas algumas ferramentas úteis para análise e monitoramento do serviço de rede, processos, entre outros.

  • iptraf: É um monitor de rede baseado na biblioteca ncurses que gera diversas estatísticas de rede incluindo informações TCP, contadores UDP, informações de ICMP e OSPF, carga de ethernet entre outros.
  • ethstatus: É outro utilitário de monitoramento baseado em console que apresenta dados estatísticos sobre a interface ethernet. Ele é similar ao iptraf, porém foi feito para atuar como uma aplicação permanente para o monitoramento de carga de rede.
  • pktstat: Apresenta em tempo real, uma lista de conexões ativas em uma interface de rede, e quanto de banda está sendo utilizada por ela.
  • iftop: o iftop é para o uso de rede, oque o top é para o uso de CPU. Ele escuta o tráfego de rede em uma determinada interface e apresenta uma tabela de uso corrente de banda por pares de hosts.
  • vnstat: Ferramenta de monitoramento baseado em console que apresenta dados de entrada/saída e permite armazenar dados históricos para análise. Também faz um “gráfico” de uso por horário. Não é necessário estar logado como root, pois captura as informações do /proc.

Monitoramento de processos

  • whowatch: É um utilitário semelhante ao comando who que apresenta informações sobre os usuários logados na máquina em tempo real. Além das informações padrão (login tty, host, processos do usuário) é apresentado o tipo da conexão (telnet/ssh) e permite exibir detalhes sobre os processos, informações do sistema, entre outros.

<Update 17/01/2006>
- Adicionado o vnstat;
</Update 17/01/2006>

SimpleXML

o SimpleXML é uma biblioteca e uma aplicação de linha de comando para manipulação simples de arquivos XML. Ela permite a extração de dados de arquivos XML, alteração de valores em atributos, apresentação e substituição de dados em elementos, criação de novos elementos, etc.

Link: http://www.fit.vutbr.cz/~smrcka/projects/simplexml/