• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
email ed nas server notifica

[Risolto] Server NAS ed email notifica
#11
CE L'HO FATTA!!!! FUNZIONA!!!!
Grazie Gabriele per l'interessamento. E' stato "faticoso" per il mio livello di principiante assoluto. Ma ho imparato molto ed alla fine con grande soddisfazione. Ovviamente se trovate qualcosa che non va o si può migliorare segnalatemela. Sempre pronto ad apprendere
Riepilogo magari a beneficio di altri quanto fatto. 

Il sistema funziona tramite tre file:

1. Lo script che monitora i cambiamenti nella cartella del server /XXXX/XXXXX. Se riscontra delle modifiche - tramite FIND- trova i file modificati e ne trasferisce il percorso in un file esiti.txt.
Codice:
#!/bin/bash
# creo file con lista directory e file poi confronto differenza tra vecchio e nuovo file
cartella="/XXXX/XXX" #cartella da monitorare
ls -R -s $cartella > /tmp/now
while :
do
ls -R -s $cartella > /tmp/now
if diff /tmp/now /tmp/old > /dev/null ; then  #confronto
       
echo "UGUALE" #azione se uguale
else
find  /XXXXX/XXXXX/ -mmin -10 -type f -fprint /XXXXXX/esiti.txt   #confronta i file modificati nella cartella da monitorare e scrive i risultati nel file esiti.txt
   
echo "DIVERSO...Mando mail" #azione se cambiamento
python /XXXXXXX/email.py  #avvia script invio mail
cat /tmp/now > /tmp/old
fi
sleep 1 #intervallo
done
2. Il file esiti.txt che raccoglie le modifiche intervenute.

3. Uno script python (email.py) che invia una mail a destinatari predefiniti, riportando il percorso dei file modificati
Codice:
# coding: utf-8
#!/usr/bin/python

import smtplib
textfile = "/XXXXX/esiti.txt"
# Legge il file in formato stringa
fo = open(textfile, "r")
filecontent = (fo.read())
fo.close()
# Definisce la mail da inviare
sender = 'XXXXXXXX@gmail.com'
receivers = ['XXXXXXX@gmail.com']
marker = "AUNIQUEMARKER"
tuapass = "XXXXXXX"
body ="""
This is a test email to send an attachement.
"""
# Definisce gli headers della mail
part1 = """From: XXXXXX XXXXXX < XXXXXXX@gmail.com >
To: XXXXX XXXXXX < XXXXXXXXX@gmail.com >
Subject: XXXXXXXXXXX
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

# Definisce il contenuto della mail
part2 = "Nel server sono presenti nuovi file: \r\r %s " % filecontent
part3 = "\r\rFIRMA "
message = part1 + part2 + part3

#Invia la mail segnalando un errore nel caso di problemi
try:
  server = smtplib.SMTP('smtp.gmail.com', 587)
  server.starttls()
  server.login(sender, tuapass)
  server.sendmail(sender, receivers, message)        
  server.quit()
  print ("Mail inviata con successo")
except SMTPException:
  print ("Attenzione: non è stato possibile inviare la mail")
Risposta
#12
Bene! Son contento Wink

Inviato dal mio m2 note utilizzando Tapatalk
Il mio software non ha mai bugs. Include soltanto funzionalità casuali.


Risposta
#13
Attenzione a una cosa... Non sempre /tmp è montata in RAM, bisogna controllare


Inviato dal mio iPhone utilizzando Tapatalk
http://bobvann.noip.me
Hai un Raspberry Pi?
(SI)   complimenti, ottima scelta Wink
(NO) compralo al più presto Wink
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect