[Guida] Spostare file e notifiche push & mail

Guide, Tips, Manuali.
Rispondi
maxrock70
Utente
Utente
Messaggi: 7
Iscritto il: giovedì 21 luglio 2011, 23:13

[Guida] Spostare file e notifiche push & mail

Messaggio da maxrock70 »

Pre-requisiti:

IPKG installato

Nail (guida su come installarlo e configurarlo http://blog.deadcode.net/2009/06/01/set ... -from-cli/)

Account boxcar (www.boxcar.io) per IOS (io ho usato questo) o Pushover (https://pushover.net) per android e/o IOS

Cronjob Editor (da questa source http://www.cphub.net)

Winscp per Windows (http://winscp.net/eng/index.php)

L’obiettivo di questa guida è quello di spostare automaticamente, i file scaricati nelle rispettive directory e ricevere notifiche push (IOS e Android) e/o via email ad operazione completa.

Il sistema funziona indipendentemente dal pacchetto usato per scaricare file (download station, itransmission etc.) sarà sufficiente adattare lo script alle proprie necessità.

In particolare è indicato per chi utilizza dispositivi mobile per avviare il download sul proprio synology, questo perché dall’applicazione non è possibile selezionare la directory di download del file ma è anche utile per chi vuole tenere sotto controllo i download ed essere avvisato dell’operazione completata.

Applicazioni e utilità

Il pacchetto Nail consente di inviare email da linea di comando. La configurazione è molto semplice, il pacchetto è piccolo e affidabile.

Boxcar e Pushover sono dei sistemi gratuiti per le notifiche push, è sufficiente creare un account e creare un “service” che nel nostro caso è un indirizzo di posta “fittizio” che genera una notifica push sul nostro dispositivo mobile. In pratica noi inviamo un email a questo indirizzo e il contenuto dell’oggetto del messaggio viene visualizzato come notifica push sul device.

Cronjob Editor è il package che ci permette di gestire lo scheduling dello script che esegue il monitoraggio della directory, lo spostamento dei file e le notifiche push e mail. E’ possibile installare anche il package “Config File Editor” per editare lo script direttamente dal Synology (vedi guida per l’installazione sul forum)

Installazione

Tutte le operazione di monitoraggio, spostamento e notifiche sono gestite da uno script con estensione .sh che viene eseguito ogni minuto (tempo che può essere aumentato utilizzando il CronJob Editor) e da un file temporaneo (pushmail) che conterrà il testo delle notifiche.

Per prima cosa bisogna creare l’account per il servizio push e attivare l’indirizzo email per le notifiche push (sul sito del fornitore è illustrato molto chiaramente come fare).

Installare e configurare nail utilizzando un proprio indirizzo email (consiglio di utilizzare un account gmail perché l’smtp è indipendente e non è legato al provider internet che utilizzate) che sarà l’indirizzo da cui spedirete le notifiche.

Modifica ed esecuzione script

Siccome tutto è basato su linux è fondamentale fare attenzione ai problemi di permissions, di conseguenza consiglio di utilizzare, per l’esecuzione dello script, lo stesso utente utilizzato per il download dei file. Nel mio esempio userò l’utente Admin (nb. È opportuno utilizzare l’utente root nella schedulazione dello script via Cronjob Editor, in questo modo la schedulazione sarà attiva automaticamente ad ogni riavvio del nas).

CODICE

#!/bin/sh
for docuname in *lluminio* *cciaio* *elluto*
do
if test -n "$(find /volume1/Incoming/ -iname "$docuname")"
then
dirpath=/volume1/Documentari/$docuname
find /volume1/Incoming/ -iname "$docuname" -print >/volume1/homes/admin/pushmail -exec mv {} $dirpath ;
docunamefile=`cat /volume1/homes/admin/pushmail`
echo -n "Action taken file move: $docunamefile" >/volume1/homes/admin/pushmail
echo -e "nnDestination: n" $dirpath >>/volume1/homes/admin/pushmail
echo "Put your message text here" | /opt/bin/nail -s "File Downloaded: $docunamefile" [email protected]
echo "Put your message text here" | /opt/bin/nail -s "NAS Action Move" /dev/null
fi
fi
done

CODICE

La riga “for docuname in *lluminio* *cciaio* *elluto*” contiene i file da monitorare e crea un loop per eseguire i comandi successi per ogni file trovato. Qui si possono inserire tutti i file da monitorare/spostare. Il nome di ogni file deve essere fra * e separato da uno spazio. Consiglio di non mettere il nome del file per intero ma solo una parte del nome iniziando dalla seconda lettera del nome in questo modo gli asterischi assicurano che vengano trovati tutti i file che contengono la parola fra gli asterischi.

La riga “if test -n "$(find /volume1/Incoming/ -iname "$docuname")"” verifica l’esistenza del file (maiuscolo, minuscolo o mix di entrambi…in linux i nomi dei file sono case sensitive il che fa la differenza quando si fanno operazioni sui file) ed è per questo che non ho inserito la prima lettera della parola…l’altro motivo sta nella variabile $dirpath. Per default il monitoraggio dei file avviene nella cartella “Incominig”, ovviamente il percorso può essere cambiato a piacimento a seconda della directory da monitorare.

La riga “dirpath=/volume1/Cartella_file/$docuname” assegna alla variabile $dirpath il percorso della cartella dove verrà spostato il file. E’ fondamentale che la directory di destinazione sia stata già creata e il nome della cartella deve contenere parte del nome del file che stiamo spostando (es. se il file che stiamo spostando si chiama Alluminio.anodizzato.mov la cartella si potrà chiamare “Tutti i video alluminio” o qualsiasi altro nome purché abbia “lluminio” come parte del nome della directory. Questo per evitare di complicare troppo lo script scrivendolo con meno codice possibile.

La riga “find /volume1/Incoming/ -iname "$docuname" -print >/volume1/homes/admin/pushmail -exec mv {} $dirpath ;” trova il file, scrive il percorso del file completo nel file “pushmail” e sposta il file nella directory relativa (nel nostro caso sposta il file “Alluminio.anodizzato.mov” nella cartella “Tutti i video alluminio”.

La riga “docunamefile=`cat /volume1/homes/admin/pushmail`” legge il contenuto del file pushmail e lo assegna alla variabile $ docunamefile che ci servirà dopo per le notifiche.

La riga “echo -n "Action taken file move: $docunamefile" >/volume1/homes/admin/pushmail” aggiunge il testo “Action taken file move:” al file pushmail (anche questo ci servirà in seguito per le notifiche).

La riga “echo -e "nnDestination: n" $dirpath >>/volume1/homes/admin/pushmail” aggiunge il testo “Destination” e il percorso della cartella dove è stato copiato il file (anche questo ci servirà in seguito per le notifiche).

La riga “echo "Put your message text here" | /opt/bin/nail -s "File Downloaded: $docunamefile" [email protected]” invia un email all’indirizzo [email protected] (quello creato con il servizio push) e scrive nella notifica il nome del file scaricato.

La riga “echo "Put your message text here" | /opt/bin/nail -s "NAS Action Move" invia un email all’indirizzo [email protected] mettendo come oggetto “NAS Action Move” e come testo il contenuto del file pushmail che ora sarà qualcosa del tipo:

Action taken file move: /volume1/Incoming/Alluminio.anodizzato.mov
Destination:

/volume1/Documentari/Tutti i video alluminio

La notifica push invece sarà così:

File Downloaded:
/volume1/Incoming/Alluminio.anodizzato.mov

Per evitare problemi e per comodità ho copiato lo script in /volume1/homes/admin/ e l’ho chiamato scandocume.sh. Per eseguire lo script da riga di comando bisogna lanciare il comando sh scandocume.sh poi ho schedulato l’esecuzione dello script dal cronjob editor.

Fatemi sapere se questa guida vi è stata utile.
burghy86
Moderatore
Moderatore
Messaggi: 11688
Iscritto il: martedì 11 settembre 2012, 18:59

[Guida] Spostare file e notifiche push & mail

Messaggio da burghy86 »

grazie mille per la guida, se ho tempo la proverò di sicuro.

ma a parte lo spostamento dei file a download completato la notifica di completamento a me è sempre arrivato
NUOVO CANALE DISCORD e telegram
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG

https://t.me/Synology_IT



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox ISP: ftth 2.5gb/1) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: 923+ 720+ dmv dal 6.2 alla 7., all hd con wdred/ironwolf da 2/6tb
  • CLI: win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd , firestik 4k raspberry p3
maxrock70
Utente
Utente
Messaggi: 7
Iscritto il: giovedì 21 luglio 2011, 23:13

[Guida] Spostare file e notifiche push & mail

Messaggio da maxrock70 »

Sì effettivamente le notifiche native funzionano bene...solo che io uso tanto le app del cellulare per caricare i torrent quindi mi ritroverei sempre tutti i files in incoming...a me piaceva l'idea di avere la notifica quando viene spostato il file con i dettagli dei percorsi e le notifica push...considerando la quantità diversa di file che scarico avere il dettaglio esatto del file dove si trova esattamente mi é molto utile.

Se usi uno smartphone per caricare i torrent ne potrai apprezzare l'utilità :-).

Alla prox
burghy86
Moderatore
Moderatore
Messaggi: 11688
Iscritto il: martedì 11 settembre 2012, 18:59

[Guida] Spostare file e notifiche push & mail

Messaggio da burghy86 »

capito, avendo sempre usato le funzionalita dei plugin torrent per firefox e non usando lo smartphone non capisco, prima o poi mi modernizzerò anche io. piccola domanda ma l'app ds download non dovrebbe tenerti sottocontrollo le percentuali dei download? visto che sicuramente lo usi, dal ds download si possono caricare i torrent?

EDIT

ho capito, dalla 4.2 quando carichi un qualsiasi torrent ti chiede il passagio in più di specificare il percorso e la app non va. secondo me c'è solo da aspettare che aggiornino la app, hai provato a mandare una segnalazione allasynology tramite ticket?
NUOVO CANALE DISCORD e telegram
PARTECIPATE NUMEROSI:

https://discord.gg/McP3d4m2pG

https://t.me/Synology_IT



Passare dalla sezione presentazioni e leggere il regolamento firma obbligatorio

siamo una community, aiutateci a sentirci parte di qualcosa e non un helpdesk
Non do aiuto in privato ma sul forum a tutti!!
Un grazie ci spinge a lavorare meglio
------------------------------------------------------------
  • UPS: apc
  • GTW: fritzbox ISP: ftth 2.5gb/1) IP:[pubblico]
  • SWC: hp gigabit 8 porte with poe
  • NAS: 923+ 720+ dmv dal 6.2 alla 7., all hd con wdred/ironwolf da 2/6tb
  • CLI: win11 e ubuntu
    [altro]
  • 3 smartphone android, lettore bd , firestik 4k raspberry p3
maxrock70
Utente
Utente
Messaggi: 7
Iscritto il: giovedì 21 luglio 2011, 23:13

[Guida] Spostare file e notifiche push & mail

Messaggio da maxrock70 »

Sì uso DS Download per caricare i torrent...onestamente non credo che nelle prossime versioni si potrà avere la possibilità di scegliere la directory di download...le app sul cell sono solo dei frontend del nas quindi le funzioni disponibili sono quelle di "inviare" dati sulla base della configurazione del nas. Scegliere la directory implicherebbe una integrazione totale con il nas ovvero lavorare direttamente sul nas.

Se invece utilizzo l'interfaccia web dal cellulare posso scegliere la directory di download...di contro l'interfaccia è più lenta ed è tutto più macchinoso :-D
Rispondi

Torna a “GUIDE & TIPS”