Script pra verificar modificacoes em arquivo e enviar por email.

1. Script pra verificar modificacoes em arquivo e enviar por email.

SancheXM
sanchexm

(usa Ubuntu)

Enviado em 02/12/2011 - 11:08h

Ola pessoal, to com um problema e gostaria da ajuda de vcs pra tentar soluciona-lo, é o seguinte:
Tenho um script em python pra enviar email que funciona blz.
#################################################
#!/usr/bin/python
import smtplib

SMTP_SERVER = 'smtp_do_servidor'
SMTP_PORT = porta
LOGIN = 'login'
PASS = 'senha'

sender = 'email@email.com.br'
recipient = 'email@email.com.br'
subject = 'Arquivos disponiveis'
body = 'Existem arquivos disponiveis acesse o site para fazer o download.

body = "" + body + ""

headers = ["From: " + sender,
"Subject: " + subject,
"To: " + recipient,
"MIME-Version: 1.0",
"Content-Type: text/html"]
headers = "\r\n".join(headers)

session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT)

session.ehlo()
session.starttls()
session.ehlo
session.login(LOGIN, PASS)

session.sendmail(sender, recipient, headers + "\r\n\r\n" + body)
session.quit()
############################################
Tenho esse outro script que verifica se houve alguma alteracao nos arquivos dentro da subpasta /disponivel e usa o script acima pra mandar um email de aviso.
#!/bin/sh

X=`find /home/ftp/eXX/disponivel -cmin -5`

if [ ! -z "$X" ]; then
python enviar_email.py
fi;
####################################
Meu problema é o seguinte, dentra da pasta home/ftp eu tenho 140 pastas com duas subpasta cada,as subpastas(disponivel e enviar) dentro da pasta principal pra todos sao iguais exemplo:
/home/ftp/e100/disponivel
/home/ftp/e100/enviar
/home/ftp/e115/disponivel
/home/ftp/e115/enviar
e assim por diante.
Preciso que o script verifique dentro da pasta /home/ftp/xxx/disponivel se tem algum arquivo alterado e se tiver mandar um email pro dono da pasta avisando ele, e se ele alterar alguma coisa dentro da pasta /home/ftp/xxx/enviar o script me envie um email.
Entao eu tenho 140 pastas com 140 emails um pra cada pasta e o meu email pra que se houver alguma alteraçao dentro da pasta eu receba um aviso.
Inicialmente pensei em criar 140 scripts um pra cada pasta e agendar no cron, mas isso pra mim pra manutencao ficaria muito inviavel e acho q sobrecarregaria o servidor.
Abs a todos e valew pela atençao.




  


2. Re: Script pra verificar modificacoes em arquivo e enviar por email.

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 02/12/2011 - 11:17h

mais fácil que toma doce de criança


#!/bin/bash

for PASTA in $(ls /home/ftp)
do

X=`find "/home/ftp/$PASTA/disponivel" -cmin -5`

if [ ! -z "$X" ]; then
python enviar_email.py
fi;

done




3. mas e os email.

SancheXM
sanchexm

(usa Ubuntu)

Enviado em 02/12/2011 - 11:35h

Vlw pela ajuda, mas e os email, eu teria q criar os 140 scripts mesmo, ou teria como fazer um so script padrao e ele buscaria os email em banco de dados ou no cadastro do usuarios no linux onde ta cadastrado todos os usuarios do ftp.


4. Re: Script pra verificar modificacoes em arquivo e enviar por email.

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 02/12/2011 - 12:01h

uma solução meio simples seria criar um arquivo com o email em cada pasta



#!/bin/bash

for PASTA in $(ls /home/ftp)
do

X=`find "/home/ftp/$PASTA/disponivel" -cmin -5`

if [ ! -z "$X" ]; then
python enviar_email.py $(cat /home/ftp/$PASTA/email.txt)
fi;

done



e alterar o script que envia o email para receber por parametro o destino,
não domino python para sugerir como fazer isso, em shell poderia ser assim
com o sendEmail

#!/bin/bash

for PASTA in $(ls /home/ftp)
do

X=`find "/home/ftp/$PASTA/disponivel" -cmin -5`

if [ ! -z "$X" ]; then
sender="$USERNAME@$HOSTNAME"
recipient=$(cat /home/ftp/$PASTA/email.txt)
subject="Arquivos disponiveis"
body="Existem arquivos disponiveis acesse o site para fazer o download"
servidor_smtp="$HOSTNAME"

echo $body | sendEmail -f $sender -t $recipient -u $subject -s $servidor_smtp
fi

done





5. Re: Script pra verificar modificacoes em arquivo e enviar por email.

SancheXM
sanchexm

(usa Ubuntu)

Enviado em 02/12/2011 - 18:21h

Mais uma vez, muito obrigado, enquanto nao acho uma solucao pra evitar criar todos os arquivos, vou estar implantando essa sua solucao, abraço ate mais.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts