Você já deve ter olhado alguma vez nos seus logs, visto algum IP fazendo algo que lhe chamou a atenção, mas o reverso não resolve e você fica curioso de onde diacho vem esse nego.
Para facilitar minha busca fiz um script que disponibilizo aqui para quem tiver interesse.
Além do script vai precisar também do arquivo contendo a lista de IP vs País que pode ser baixado aqui.
À medida que você precisa administrar mais e mais servidores, cada um rodando seus serviços e daemons específicos fica mais complicado saber o que está em casa máquina.
Pior ainda quando você precisa que alguém com menos experiência ou conhecimento (aka suporte nível 1) verifique para você o estado do servidor.
A idéia é então centralizar essa checagem num único script, simples e funcional, para facilitar a sua vida e a dos outros admins.
Tenho certeza que já existem por ai trocentos scripts/programas/whatever para fazer isso, mas eu estava entediado e precisava usar um pouco de Perl para não enferrujar completamente (É… ando usando só Python e Bash).
O script está disponível aqui e está bem documentado e é de simples entendimento.
Basta criar um arquivo /etc/checks.txt contendo o que você esperaria ver rodando normalmente e está feito.
Eu não conhecia o mkfile do Solaris até ontem, mas foi só usar um pouco e deu pra ver que é muito mais prático e rápido do que ficar utilizando o dd no Linux.
Não sei os meus 2 leitores geeks (já que meu pai, minha mãe e minha esposa – meus outros 3 leitores – não se encaixam nesta categoria), mas eu tenho que olhar o man ou o google toda vez que preciso criar um arquivo em branco com o dd. Tenho algum tipo de bloqueio com aquela sintaxe chata dele.
Então resolvi perder uns minutos e fazer um mkfile for Linux, em bash script mesmo. Divirtam-se.
#!/bin/bash#=============================================================================## mkfile - bash implementation of Solaris' mkfile tool for Linux## Usage: mkfile [-v] size [g | k | b | m] filename## Eri Ramos Bastos# http://geek.linuxman.pro.br#=============================================================================progname=$(basename $0)function die (){echo"$progname: $1"; exit${2:-1} ; }VERBOSE=">/dev/null 2>&1"function Help (){echo"Usage: mkfile [-v] <size>[g|k|b|m] <name1> [<name2>] ..."echo" -v Verbose"echoreturn0}# ---------- end of function Help ----------#-----------------------------------------------------------------------# Check number of command line arguments and set verbose#-----------------------------------------------------------------------if[$#-lt2]then
Help; die "Insufficient number of arguments"elif[$#-gt2]then["$1" = "-v"]&& VERBOSE=""&& shiftfiSIZE=$(echo"$1"|tr[kmg][KMG]) ; shiftforfilein${@}doevalddif=/dev/zero of="$file"count=1bs="$SIZE""$VERBOSE"[$?!= 0]&& Help && die "Error creating file $file"2done