Executer un script sur un NAS synology depuis Jeedom

Bonjour,
Je voudrais savoir si c’est possible d’executer un script qui est sous forme de fichier . sh sur le NAS.
J’ai installé adguard sur un NAS (sans docker) et je voudrais pouvoir redemarrer le service si il plante. Ca arrive rarement mais quand ca arrive…

#! /bin/sh
echo "Test AdGuardHome"
if pidof AdGuardHome ; then
echo "AdGuardHome fonctionne"
else
cd /volume1/ftp/AdGuardHome
./AdGuardHome
echo "Lancement AdGuardHome..."
fi

Ce script etait censé etre executé au demarrage du nas et relancer le service s’il etait HS.
Ca fonctionnait bien mais depuis la derniere maj de DSM ca ne redemarre pas le service…
du coup je dois executer le script manuellement depuis le planificateur de tache du syno.
N’y a t’il pas moyen de faire en sorte que ce soit jeedom qui execute cette tache ?
Grace au plug in adgurad j’arrive a savoir si Adguard est OK ou non, reste a savoir comment le relancer…

Merci pour votre aide.

1 « J'aime »

Hello
Il faut que tu fasses un echange de clef ssh entre ton jeedom et ton nas pour ainsi pour executer un script a la demande : Se connecter en SSH par échange de clés SSH – Le Crabe Info
C’est pour moi la facon la plus secure…
Sinon croner sur ton nas un check de ton service et le redemarrer si besoin
Il existe une derniere solution pas tres propre qui consiste a tout faire en dur dans un scenario

 $connection = ssh2_connect(ipNas, portSSh);
ssh2_auth_password($connection, user, mdp);

$stream = ssh2_exec($connection, scriptAExecuter);
$errorStream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
stream_set_blocking($errorStream, true);
stream_set_blocking($stream, true);

$output = stream_get_contents($stream);
fclose($stream);
fclose($errorStream);
ssh2_exec($connection, 'exit');
$scenario->setlog('response : ' .$output);

@chris94440

1 « J'aime »

merci, je vais essayer l’echange de clé SSH. Du coup ensuite tu utilises le plug in script ?

Oui ou directement un scenraio qui execute le script, par exemple

$response=shell_exec('cd /var/www/html/plugins/script/data/;./restartSeedBoxServices.sh  &');

Il faut faire l’échange de clef ssh avec le user www-data