Currently Browsing: Bash

rootsh: Keylogger para CLI do Linux

rootsh é um shell que loga tudo o que um usuário root vê no terminal. É útil se você tem vários administradores com acesso root num servidor e você quer gravar exatamente o que o usuário faz. Fazer o download do rootsh-1.5.3.tar.gz. wget http://www.virtualxp.org/downloads/rootsh-1.5.3.tar.gz Descompactar, configurar, compilar e instalar: tar zxvf rootsh-1.5.3.tar.gz -C /usr/src cd /usr/src/rootsh-1.5.3 ./configure --disable-syslog --disable-linenumbering make make install Depois de instalado os binários, o sistema está quase pronto. A única necessidade que...
read more

grep, sed, cut e cat: Script parser para log do Oracle Listener

O que o script faz? Faz um parse no arquivo de log do Oracle Listener e extrai o HOST do usuário, o USER e o HOST e PORTA que o usuário está conectando. #!/bin/bash # ############################################################################### # # Descrição: Fazer o parse do LOG e extrair apenas o HOST e USER, também # HOST e PORT # Autor: Daniel K Lima # Data : 10/03/2010 # Uso : ./parser.sh arquivo.log # ############################################################################### # Parâmetros LOG=${1} SED=$(which sed) CUT=$(which cut) GREP=$(which...
read more

Bash: Convertendo TABs para Espaço em arquivos

É possível utilizar várias ferramentas para essa finalidade, como por exemplo o sed e o awk. O comando expand coverte todos os TABs para espaços. Ele preserva os caracteres de backspace na saída; eles que fazem com os espaços sejam reduzidos na contagem para o cálculo dos TABs. expand arquivo.log > output.log expand dados.txt > output.txt expand -t 2 dados.txt > output.txt A opção -t pode ser usada para gerar uma lista separada por vírgula (arquivo CSV). Caso você queira fazer o contrário, ou seja, converter espaços para TABs, use o comando unexpand. Veja as man...
read more

Find: mostrar apenas links simbólicos

Se você quer saber quais arquivos no seu servidor são apenas links simbólicos, aqui está como fazer: find / -type l No exemplo mostrado ele vai procurar por todo o sistema, caso queira restringir a apenas um diretório em específico, substitua o ‘/’ por ‘/diretorio’, sem os apóstrofos. Blogged with the Flock...
read more

Auto restart Apache quando o processo “morre”

Aqui está um shell script simples para ser usado no CentOS / Red Hat / Debian etc. Esse script funciona em outros sistemas operacionais com poucas modificações. Copie o código do script abaixo e cole num arquivo, podendo ser chamado /usr/local/bin/httpdcheck. Após isso, edite o crontab para rodar a cada 5 minutos */5 * * * * /usr/local/bin/httpdcheck >/dev/null 2>&1 Abaixo está o script, após editá-lo no arquivo, não esqueça de dar permissão de execução para o arquivo com chmod 755 /usr/local/bin/httpdcheck #!/bin/bash # Comente se está usando Debian RESTART="/sbin/service...
read more

Convertendo nomes de arquivos em letras MAIÚSCULAS para minúsculas

Script para converter nomes de arquivos de MAIÚSCULAS para minúsculas. #!/bin/bash file="$1" if [ $# -eq 0 ] then echo "$(basename $0)" exit 1 fi if [ ! $file ] then echo "$file não é um arquivo" exit 2 fi lowercase=$(echo $file | tr '[A-Z]' '[a-z]']) if [ -f $lowercase ] then echo "Erro - Arquivo já existe!" exit 3 fi # troca o nome do arquivo /bin/mv $file...
read more

Enviado email com anexo via linha de comando

As vezes é necessário enviar um email no Linux, FreeBSD ou Unices via linha de comando com um anexo. Esse procedimento também pode ser utilizado como parte de um Shell script que envia relatórios anexados para o email do administrador. ...
read more