NAS SYNO DS218J : notification à l'arrivée d'un fichier dans un répertoire

GARUDASEB

Nouveau membre
3 Avril 2019
6
0
0
Bonjour le Forum,
je suis nouveau ici, merci de m’accueillir.
Je possède un serveur nas Synology D218J.
Je cherche à paramétrer, pour un dossier que je dois surveiller, une notification (mail ou autre) à l'arrivée d'un fichier dans ce dossier.

Comment procéder ?

Merci à vous
Bonne journée

Sébastien
 
Hello,

je t'ai trouve un script qui pourrait t'aider. A essayer...

https://forum.synology.com/enu/viewtopic.php?t=99504

Code:
#!/usr/bin/perl

use strict;
use warnings;
use File::Basename;
use File::stat;
use Cwd 'abs_path';

my $dirname = '/volume1/homes/reporter'; # folder to monitor
my $scriptdir = dirname(abs_path($0));
my $reportFile = $scriptdir.'/report.txt';
my $reportSent = $scriptdir.'/sent.txt';
my $Current = $scriptdir.'/current.txt';
my $Prev = $scriptdir.'/prev.txt';
my $reportEmail = 'TO_EMAIL@SERVER.NET'; # recipient of reports
my $freq = 12*60; # maximum frequency of emails

system ("ls $dirname -R -1 > $Current");

unless (-e $Prev) {
system ("cp $Current $Prev");
print "Running for the 1st time\nObtaining file list\n";
}

system ("diff $Prev $Current > $reportFile");
my $filesize = -s "$reportFile";
if ($filesize > 0) {
my $modif = 0;
if (-e $reportSent) { $modif=stat($reportSent)->mtime;}
else {
print "Sending first email\n";
}

my $delay = (time - $modif) / 60 ;
if ($delay < $freq) {
print "only $delay minutes passed since last email. Waiting for $freq minutes after last sent email\n";
}
else {
system ('perl '.$scriptdir.'/sendEmail -f FROM_EMAIL@SERVER.NET -t '.$reportEmail.' -u "Reporter folder updates" -xu USERNAME -xp PASSWORD -o message-charset=UTF-8 -o message-file='.$reportFile);
system ("mv -f $reportFile $reportSent");
system ("mv -f $Current $Prev");
}
}
 
Hello
Merci cela semble parfaitement correspondre...
C'est un peu compliqué pour moi, mais je vais étudier cela ce soir.
Merci à toi
bonne journée
 
Bonjour
oula la je suis pas sur d'avoir compris o_O

Voila ce que j'ai compris :

- copier les fichiers "SendEmail dans le dossier concerné
http://caspian.dotconf.net/menu/Software/SendEmail/

- Créer une tache dans le planificateur de taches en y insérant le code en script modifié avec le detinataire mail et le chemin du dossier à surveiller.

C'est bien cela ?

Merci de ton aide

Bonne journée
Sébastien