Je voulais savoir s’il était possible de rajouter une valeur de résultat pour la récupérer pour effectuer une notification comme quoi la sauvegarde est OK ou KO.
Sinon si quelqu’un a réussi à crée un script ou autre qui permet de récupérer le résultat de la log.
Je souhaiterais tester la valeur Errors de la ligne surligné, si cette valeur est différente de Zéro m’envoyer un mail ou un sms d’alerte comme quoi la sauvegarde n’a pas fonctionné.
Très bonne idée.
Je vais ajouter automatiquement une nouvelle commande à chaque équipement qui sera mis à jour à chaque execution d’une commande avec le contenu du champ Error.
Il faudra simplement executer un scenario si la valeur est différente de zero.
Ok pour toi ?
Bonjour,
Je profite de ce post pour reformuler ma demande (similaire): Vouloir récupérer le code retour de la sauvegarde effectuée via l’execution du plugin CloudSyncPro.
La variable var reste vierge…ce qui n’est pas le cas d’autres exécutions de plugins et/ou commande.
Solution:
Analyser la log d’erreur, au lieu d’analyser le code retour est un moyen détourné d’arriver au même résultat. Moi ca me va aussi. Je vais essayer de rajouter ce petit bout de code (si <> Error(0), alors initialiser une variable qui indiquera qu’il y a un souci en attendant l’évolution.
Merci aussi Thanaus. Ca marche tres bien ton plugins et je peux dormir sur mes 2 oreilles grâce à toi
Voici le petit bout de code à coller derrière l’exécution d’un scénario avec du cloudsyncpro
Mais que fait-il?
(pour les buses en code php, comme moi ou pire):
Je vais vérifier, pour l’exécution du jour, qu’il n’y pas pas eu d’erreur « Error(x) » (x <> 0) dans la log de cloudsyncpro
Si c’est le cas j’initialise une variable que vous pourrez exploiter pour envoyer un mail, sms, ou tt autres actions via la condition variable(backup_error_code) == "1"
J’ai fait au plus simple, je ne vérifie pas que la log existe par exemple…
// Search pattern in log, return backup_error_code [0|1]
$scenario->setData("backup_error_code", 0);
$log = '/var/www/html/log/cloudsyncpro';
$date_format = date('Y-m-d');
$pattern = "#\[$date_format.*Errors \([1-9][0-9]*\).*#";
$content_log = (file_get_contents($log));
preg_match_all($pattern, $content_log, $out, PREG_PATTERN_ORDER); // A RegEx grep in PHP
$error_array = $out[0]; // $out[0] contains the content matched by the RegEx
foreach($error_array as &$log_entry) {
$scenario->setData("backup_error_code", 1);
$scenario->setData("backup_error_output", $log_entry);
$scenario->setLog("ALERT: Error found in log:" .$log_entry);
}
Trop top, je vais tester cela. Depuis le temps que je cherche une solution pour vérifier l’état de ma sauvegarde sans avoir a aller vérifier la log tous les matins.