Pesquisar por palavra-chave:

terça-feira, 19 de junho de 2012

Comandos de arquivos em lotes (.bat)

Como eu já havia dito antes, o MS_DOS e seus comando ainda são muito úteis, eu uso muito em script para automatizar uma série de processos diferentes, como o já publicado artigo "script de backup automático". Mas neste artigo, que ajuda-los a criar seus próprios arquivos em lotes.

Para criar um arquivo em lotes, abra o bloco de notas do Windows, digite os comandos e salve usando a opção Arquivo -> Salvar como, escolha um nome terminando com ".bat"
Veja agora uma lista de comandos úteis.


  • Comandos de arquivos em lotes
Comandos de navegação:
(obs: sempre que aparecer <nome> significa "substitua pelo nome" )

dir ______________________________Exibe conteúdo da pasta atual

cd <nome> _______________________Abre um diretório com nome especificado
exemplo cd Windows, cd users etc...

cd ..  ____________________________Volta um diretório para tráz

cd / _____________________________Volta direto pra raíz c:

dir/o:n __________________________Exibe conteúdo de um diretório em ordem alfabética

dir/o:d __________________________Exibe conteúdo de um diretório em ordem de data

dir/a:h __________________________Exibe arquivos ocultos

dir/a:d __________________________Exibe somente diretórios (não exibe arquivos da pasta)

dri/a:-d__________________________Exibe somente arquivos (não exibe pastas e sub-pastas)

Comando de mensagens

@echo off _______________________Desativa echo de comandos, todo arquivo em lotes que exibirá mensagens, deve iniciar o arquivo com esta linha

echo <mensagem>_________________exibe mensagem para o usuário durante a execução do arquivo em lotes.
Exemplo:
@echo off
echo bom dia!!!

Comandos gerais para organização do script

pause ___________________________ paraliza o script e aparece a seguinte mensagem na tela "pressione uma tecla para continuar"

cls _____________________________ Limpa o conteúdo visivel da tela

color 01_________________________muda a cor da janela do DOS, o primeiro número representa a cor de fundo da janela, o segundo número representa a cor das letras do DOS, no caso do exemplo "01" significa "fundo preto e letras azuis", para saber as cores disponíveis, execute no prompt de comandos: "color /?" e uma lista de cores será exibida


Comandos para abrir ou executar algo fora do script

Start ____________________________abre uma nova janela

type <arquivo>.txt _________________exibe o conteúdo de um arquivo ".txt"

call <arquivo>_____________________chama um arquivo em lotes a partir de outro

Comandos variáveis

%date% __________________________exibe data atual

%time%__________________________exibe hora atual

Comandos de manutenção preventiva

chkdsk____________________________invoca o checkdisk, que verifica o disco exibe um relatório, existem várias opções para o chkdsk, digite no prompt de comandos: "chkdsk /?" que uma lista de opções será exibida

defrag ____________________________ invoca o desfragmentador de disco, existem várias opções para o chkdsk, digite no prompt de comandos: "defrag /?" que uma lista de opções será exibida


Comandos gerais úteis:

rd <pasta> _________________________ apaga uma pasta vazia especificada
rd /s <pasta> _______________________ apaga uma pasta e todo seu conteúdo
rd /s /q ____________________________ apaga uma pasta e todo seu conteúdo sem confirmar se deseja mesmo excluir

md <nome> ________________________ cria uma pasta com nome especificado

del <arquivo> _______________________ apaga arquivo especificado
del *.mp3 __________________________ apaga todos os arquivos de MP3 dentro de um diretório onde o comando for executado, mas é claro que podemos escolher outros dipos de arquivos.
del *.* _____________________________ apaga todos os arquivos de uma pasta
del /f _______________________________força a exclusão de arquivo somente leitura
del *.* /s ___________________________ Exclui todos os arquivos de uma pasta e de todas as subpastas encontradas
del*.* /q ___________________________Exclui todos os arquivos do diretório em modo silencioso, não pede confirmação para deletar
Erase ______________________________ exatamente como o comando DEL, pode-se substituir um pelo outro

Shutdown -s __________________________desliga o computador em 60 segundos
shutdown -r __________________________reinicia o computador em 60 segundos
shutdown -r -t 03 ______________________reinicia o computador em 3 segundos
shutdown -r -c <comantário>____________reinicia o computador e exibe uma mensagem

Criação de menu selecionável:
Vc pode criar vários lotes com um menu selecionável.
Exemplo:


 echo Para executar limpeza de temporarios digite 1
 echo Para executar desfragmentação digite 2
 echo Verificar disco digite 3

choice /C 123 /M "escolha a opcao desejada"

IF errorlevel=3 goto CHECKDISK
IF errorlevel=2 goto DEFRAG
IF errorlevel=1 goto TEMP


:CHECKDISK
chkdsk

:DEFRAG
defrag /h /v c:

: TEMP
cd /
erase /s /q *.tmp

Neste modelo criei um arquivo com 3 lotes, o comando goto ("ir para" em ingles) verifica qual numero foi selecionado e executa somente a parte do lote iniciado com : (dois pontos)

Vamos ver se vocês entenderam bem:
Se conseguir decifras estes códigos, você esta indo muito bem

Basta digitar este script em um bloco de notas, salvar com a extensão ".bat" e pronto:

Exemplo de arquivo em lotes:

@echo off
echo ferramente de manutencao preventiva para Windows 7
echo lembre-se de executar este script como administrador
echo.

echo Para executar limpeza de temporarios digite 1
echo Para executar desfragmentação digite 2
echo Verificar disco digite 3

choice /C 123 /M "escolha a opcao desejada"

IF errorlevel=3 goto CHECKDISK
IF errorlevel=2 goto DEFRAG
IF errorlevel=1 goto TEMP
echo by Andre Silvertone
pause
color 04
cls
cd \
echo Aguarde alguns instantes...
echo.
echo ver


:TEMP
del /f /q /s *.tmp
color 0e
cls


:DEFRAG
defrag /h /u /v /c
color 03
cls


:CHECKDISK
echo seu computador será reiniciado para concluir a limpeza
echo pressione "S" na proxima pergunta
echo finalizado as %date% as %time%
chkdsk /f /r /x c:
pause
shutdown -r -t 03 -c reiniciando...


Conseguiram? qualquer dúvida comente!!!!



Espero que tenham gostado até aqui.

Qualquer dúvida basta deixar um comentário

segunda-feira, 11 de junho de 2012

Controlando acessos da internet com SQUID

Este serviço do Linux permite ao administrador de rede bloquear sites indesejáveis, e unindo o útil ao agradável, o Squid melhora a velocidade da internet criando cache de páginas acessadas. Sem dúvida uma boa solução para controle de internet.

Neste artigo, a distribuição usada será o Ubuntu 11.10.
Recomendo aos leitores com pouca experiência em linux ler o artigo "Comandos básicos do Linux" antes de ler este artigo.



Instale o serviço do squid usando o comando:
 # apt-get install squid

Em seguida, acesse o diretório onde está o aquivo de configuração /etc/squid/
 e abra o arquivo usando o mcedit:

#mcedit squid.conf

Obs: caso não tenha o mcedit instalado pois não é nativo do ubuntu, instale o Midnigth Commander com o comando:
#apt-get install mc

Dentro do arquivo digite  como no exemplo abaixo:

http_port 3128
visible_hostname SQUID_SERVER
cache_mem 64 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid 2048 16 256

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280

acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


#necessário configurar os arquivos /etc/squid/sites
#contendo uma URL por linha

acl sites dstdom_regex "/etc/squid/sites"
http_access deny sites


acl redelocal src 192.168.1.0/24
http_access allow localhost
http_access allow redelocal

http_access allow all
 


Salve (pressione F2) e saia do mcedit (pressione F10)

Agora crie o arquivo chmado "sites" no mesmo diretório /etc/squid

#mcedit sites

Agora digite,um por linha, os endereços dos sites que deseja bloquear.

exemplo

www.facebook.com.br
www.facebook.com
www.twitter.com
www.meboo.com

etc...

Agora basta iniciar o squid com o comando:

#service squid start

Com o serviço iniciado, configure nos navegadores das estações para que "obedeçam" as regras do Squid da seguinte maneira:

No Internet Explorer, em ferramentas -> opções ->conexões -> configurações de LAN digite o IP do Linux onde está configurado o Squid e a porta 3128 definida no arquivo conforme exemplo:


Simples assim!

Ao tentar acessar um dos sites bloqueados, será exeibida no navegador uma tela de erro impedindo o acesso à página.

Bom, espero ter ajudado, qualquer duvida escreva nos comentários.
google-site-verification: google53a8eb0bc7dc474a.html