Page 4 sur 5

Re: Retrouver le nom des commandes supprimées

Publié : 24 mars 2018, 21:58
par Jeandhom
J'ai suivi une autre piste pour retrouver le nom de mes commandes supprimées.

J'utilise un bloc code dans un scénario.

Code : Tout sélectionner

foreach(cmd::all() as $cmd) {
   $scenario->setLog($cmd->getId() . ' : ' . $cmd->getHumanName());
}
Il me suffit de regarder les logs du scénario pour retrouver le nom de la commande.
Si je veux sauvegarder ces informations, je télécharge les logs sur ma machine.

Re: Retrouver le nom des commandes supprimées

Publié : 25 mars 2018, 09:18
par romanais
Merci @kerdale :)

Intéressant comme approche @jeandhom !

Re: Retrouver le nom des commandes supprimées

Publié : 25 mars 2018, 20:10
par Theking31
À quand le petit pluging ;) :)

Re: Retrouver le nom des commandes supprimées

Publié : 26 mars 2018, 08:20
par znation
Je pense en effet que ca serait cool d'automatiser ce genre de tache, c'est pas le truc que tu as besoin de faire tous les jours mais qui peut énormément servir.

Re: Retrouver le nom des commandes supprimées

Publié : 27 mars 2018, 10:31
par pipersw
Un grand merci à Romanais pour le partage.

Envoyé de mon FRD-L09 en utilisant Tapatalk


Re: Retrouver le nom des commandes supprimées

Publié : 28 mars 2018, 00:31
par Jeandhom
Jeandhom a écrit :
24 mars 2018, 21:58
J'ai suivi une autre piste pour retrouver le nom de mes commandes supprimées.

J'utilise un bloc code dans un scénario.

Code : Tout sélectionner

foreach(cmd::all() as $cmd) {
   $scenario->setLog($cmd->getId() . ' : ' . $cmd->getHumanName());
}
Il me suffit de regarder les logs du scénario pour retrouver le nom de la commande.
Si je veux sauvegarder ces informations, je télécharge les logs sur ma machine.

En partant sur cette base, je sauvegarde la base dans un fichier txt.
A chaque lancement du scénario, je fais un diff de la base que j'ajoute à l'ancienne.
Un seul fichier contient donc l'ensemble des commandes supprimées ou pas.
Normalement, on doit même retrouver les changements de nom sur une même commande.

Ce code étant dans un bloc code d'un scénario, il suffit de le lancer chaque jour.

ATTENTION, JE N'AI PAS COMPLÈTEMENT VÉRIFIER LE BON FONCTIONNEMENT DE CE SCRIPT

Code : Tout sélectionner

$backupdir = '/var/www/html/zzzbackuperasecmd';
$backupfile = '/jeedomcmd.lst';
$cmdlistold = array();
$cmdlistnew = array();

if (!is_dir($backupdir)) {
  $scenario->setLog('Création du répertoire ' . $backupdir);
  mkdir($backupdir, 0775);
}
if (file_exists($backupdir . $backupfile)) {
  $scenario->setLog('Récupération de la liste dans ' . $backupdir . $backupfile);
  $jeedomcmd = fopen($backupdir . $backupfile, 'r');
  while (($buffer = fgets($jeedomcmd)) !== false) {
    $buffer = trim($buffer,"\n");
    $cmdlistold[] = $buffer;
  }
  fclose($jeedomcmd);
}

foreach(cmd::all() as $cmd) {
  $scenario->setLog('bdd ' . $cmd->getId() . ' : ' . $cmd->getHumanName());
  $cmdlistnew[] = $cmd->getId() . ' : ' . $cmd->getHumanName();
}

$cmdlistdiff = array_diff($cmdlistnew, $cmdlistold);
$cmdlistnew = array_merge($cmdlistold, $cmdlistdiff);
asort($cmdlistnew,SORT_NUMERIC);

$jeedomcmd = fopen($backupdir . $backupfile, 'w+');
foreach($cmdlistnew AS $ligne) {
  $scenario->setLog('bck ' . $ligne);
  fputs($jeedomcmd,$ligne."\n");
}
fclose($jeedomcmd);
EDIT du 26/10/2018, le script fonctionne parfaitement.

Re: Retrouver le nom des commandes supprimées

Publié : 28 mars 2018, 08:20
par loic
Bonjour,
Pour information en 3.3 (pas 3.2 qui va sortir mais là version d'après donc) j'ai rajouté un historique des suppression pour les commandes, équipements, scénario, objet, utilisateurs...

Re: Retrouver le nom des commandes supprimées

Publié : 28 mars 2018, 09:19
par Claude69
loic a écrit :
28 mars 2018, 08:20
Bonjour,
Pour information en 3.3 (pas 3.2 qui va sortir mais là version d'après donc) j'ai rajouté un historique des suppression pour les commandes, équipements, scénario, objet, utilisateurs...
Super. Merci Loïc

Re: Retrouver le nom des commandes supprimées

Publié : 31 mars 2018, 17:18
par Jeandhom
loic a écrit :
28 mars 2018, 08:20
Bonjour,
Pour information en 3.3 (pas 3.2 qui va sortir mais là version d'après donc) j'ai rajouté un historique des suppression pour les commandes, équipements, scénario, objet, utilisateurs...
Super, tu as changé d'avis.
loic a écrit :
04 déc. 2017, 22:08
Bonjour,
Malheureusement rejetée je suis désolé mais garder ce genre de trace ça va ralentir jeedom pour un gain pas forcément énorme...

Re: Retrouver le nom des commandes supprimées

Publié : 31 mars 2018, 17:30
par loic
J'ai trouvé une solution simple sans stockage en dB avec juste l'écriture dans un fichier.

Re: Retrouver le nom des commandes supprimées

Publié : 31 mars 2018, 18:34
par Kermitlagrenouille
Super merci mon lapin... de Pâques
ok je sors ^^

Re: Retrouver le nom des commandes supprimées

Publié : 31 mars 2018, 18:34
par romanais
Parfait, merci :-)

Re: Retrouver le nom des commandes supprimées

Publié : 01 avr. 2018, 10:38
par tom74
Bonne nouvelle, merci loic

Re: Retrouver le nom des commandes supprimées

Publié : 04 avr. 2018, 22:27
par zeftp
loic a écrit :
28 mars 2018, 08:20
Bonjour,
Pour information en 3.3 (pas 3.2 qui va sortir mais là version d'après donc) j'ai rajouté un historique des suppression pour les commandes, équipements, scénario, objet, utilisateurs...
Et ben voilà !

Merci pour ton écoute de la communauté Loïc, c'est top ! ;-)

La bière c'est aussi valable pour toi hein ;)

Re: Retrouver le nom des commandes supprimées

Publié : 27 juil. 2018, 22:35
par goulouche
Bonsoir à tous,

Ma jeedom tourne sur une VM installée sur un NAS Synology (base DEBIAN 9 stretch).

J'ai deux petits problèmes et je me dis qu'ils sont peut-être liés. Premier problème, je ne reçois plus les notifications de jeedom depuis quelques temps. Second problème, j'ai une commande orpheline mais je ne parviens pas à l'identifer.

EqAnalyse   Jeedom.png
EqAnalyse Jeedom.png (5.35 Kio) Consulté 3955 fois

J'ai essayé la méthode de romanais mais sans succès. Jeedom me retourne :

Forbidden
You don't have permission to access /plugins/script/core/ressources/backup_id_commandes_supprimees.php on this server.

Je me suis alors tourné vers la méthode de jeandhom qui a fonctionné mais n'a recensé aucune commande 1892.

Merci d'avance de votre aide.

Re: Retrouver le nom des commandes supprimées

Publié : 27 juil. 2018, 23:17
par Jeandhom
C'est normal, c'est une méthode préventive.
Il aurait fallu que tu utilises ce script avant que ta commande 1892 devienne orpheline.

Re: Retrouver le nom des commandes supprimées

Publié : 28 juil. 2018, 00:54
par goulouche
Merci de ta réponse. je m'en doutais un peu. Y-a-t-il une solution pour que je retrouve mes notifications et que je supprime cette commande orpheline ?

Re: Retrouver le nom des commandes supprimées

Publié : 28 juil. 2018, 08:58
par tom74
loic a écrit :
31 mars 2018, 17:30
J'ai trouvé une solution simple sans stockage en dB avec juste l'écriture dans un fichier.
Salut @loic, c'est dans quelle version de Jeedom que cette fonction est disponible?

Re: Retrouver le nom des commandes supprimées

Publié : 28 juil. 2018, 09:10
par drs
tom74 a écrit :
28 juil. 2018, 08:58
loic a écrit :
31 mars 2018, 17:30
J'ai trouvé une solution simple sans stockage en dB avec juste l'écriture dans un fichier.
Salut @loic, c'est dans quelle version de Jeedom que cette fonction est disponible?
3.3, c'est noté un peu plus haut :)

Re: Retrouver le nom des commandes supprimées

Publié : 28 juil. 2018, 09:16
par tom74
Merci, j'avais pas fais gaffe :roll: