cloudsyncPro - Notification en cas d'erreur - test d'une valeur dans une log

Bonjour,

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é.

@thanaus : Super travail , encore bravo et merci

Merci par avance

Ben92

Bonjour,

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 ?

Hello,
superbe idée j’adhere

Par contre, peut-tu regarder en même temps les logs. si on met les logs du plugin sur « Aucun », on a quand même des logs

Merci
Bonne soirée

1 « J'aime »

Bonjour,

Pour moi c est parfait. Mais par contre, la remarque de JAG est tout à fait pertinente.

Ben92

Bonjour

Quand penses tu qu’il sera possible d’avoir cette fonctionnalité ?

Merci encore

Ben92

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.

$var = cmd::byString("#[Maison][GoogleDrive][Monthly]#")->execCmd();
$scenario->setData("code_retour", $var);

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 :slight_smile:

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);
}

Have fun!

2 « J'aime »

Bonjour zaibakker,

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.

Voila c est implémenté c est trop trop top …

Milles mercis

Ben92

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.