Executando um comando periodicamente e exibindo seu resultado

As vezes é necessário executarmos um comando a cada n segundos para acompanhar algum processo que esteja rodando ou para analisarmos algum valor como por exemplo o uso de memória.

Para resolver este problema, existe um comando específico para isso, o Watch. Com ele podemos definir o tempo de atualização da exibição com a opção -n, e destacar os valores diferentes entre as exibições com a opção -d. O resultado é exibido em tela cheia no console.

Por exemplo, digamos que precisaremos acompanhar o uso de memória com o comando free a cada 1 segundo destacando as diferenças:

# watch -n 1 -d free -h

Para sair do modo de execução, basta pressionar [Ctrl]+c

Lembrando que caso o objeto de análise seja um arquivo texto como por exemplo um arquivo de Logs, você pode utilizar o comando tail com a opção -f. Com ele toda linha adicionada ao arquivo em análise será prontamente exibida na tela.

Por exemplo, para acompanharmos os logs gerados pelo sistema, podemos usar o comando:

# tail -f /var/log/messages

Uma dica importante, em alguns casos, como nos logs gerados pelo serviço de e-mail ou durante um processo de compilação (quando muitas mensagens são apresentadas na tela) se você quiser “parar” o scroll das mensagens, basta pressionar [Ctrl]+s. Para voltar a exibição normal, pressione a seqüência [Ctrl]+q.

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…