Pular para o conteúdo

Apagar pastas e arquivos dentro de um

Responder tópico
  • Denunciar
  • Indicar

1. Apagar pastas e arquivos dentro de um

Enviado em 23/09/2008 - 17:17h

Oi, gente, estou com um script que transforma os logs do IMSNIFF em HTML, atraves do txt2tag, ate ai tudo bem, mais surgiu um problema preciso agora excluir alguns usuarios que nao podem aparecer nos relatorios HTML. achei que seria simples apaga-los, mais o imsniff gera o log do usuario tambem nas pastas de outros usuarios, exemplo, ciclano falou com o beltrano no MSN, o imsniff vai gerar o log na pasta do ciclano e tambem do beltrano, então se eu precisa-se apagar todas as conversar do beltrano como faria ? imagina se ele conversou com 10 ou 20 pessoas, abaixo o script, se alguem puder dar uma sugestão, depois desta funcionalidade pronta, vou posta-lo para pessoas interessadas em fazer a mesma coisa.

#!/bin/bash
hoje=$(date +%d%b%Y)
logs=/var/log/msn/chats
html=/var/www/html/msnlog

# Para o imsniff
killall imsniff

# Copia dos Logs
tar cvfz /var/log/msnbackup/msnlogs-$hoje.tar.gz $logs/*

# Cria as pastas de HTML
mkdir -p $html/$hoje

# Geracao temporario
cp -r $logs/* /tmp/msnchat
cd /tmp/msnchat
for i in * ; do
arqespac=`echo $i | sed 's:\@: :g'`
nome=`echo $arqespac | awk '{print $1}'`
mkdir -p /tmp/logmsn/$nome
mv $i/*.* /tmp/logmsn/$nome
done

#Gerar os HTMLs
cd /tmp/logmsn/
for diretorio in * ; do
cd $diretorio
mkdir -p $html/$hoje/$diretorio
#for3 inserir linha em branco nos arquivos e gerar html
for arqlog in *.log ; do
sed -i 's/$/\n/' $arqlog
python /usr/bin/txt2tags -t html $arqlog
done
mv *.html $html/$hoje/$diretorio/
cd ..
done

# Apaga os temporarios
rm -fr /tmp/logmsn/*
rm -fr /tmp/msnchat/*
rm -fr /var/log/msn/chats/*

sleep 10

# Carrega o IMSNIFF Novamente
/etc/rc.d/loadim

# FIM DO SCRIPT

Responder tópico

2. find neles!

Enviado em 23/09/2008 - 18:20h

Rpz,

Depois do cd /tmp/logmsn/, tenta assim:

# usuarios que nao serao logados
USUARIOS_FELIZES="a@msn.com b@msn.com c@msn.com"

for user in $USUARIOS_FELIZES; do find ./ -name $user -exec rm -rf {} \; done

Dai, fica:
pra cada 'user' em USUARIO_FELIZ ele dá um find buscando o arquivo, e ja vai apagando os caras. espero que te ajude!

[]s

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder