Tuto - vérifier l'externalisation des backups et leur cohérence

Sympa comme script. J’ai juste été obligé d’ajouter un champ au début dans le tableau $headers pour que ça fonctionne. En regardant le fichier log, je vois que les lignes commencent par un espace, je suppose que c’est la raison.

Et il y aussi la mise à jour de la liste qui est faite deux fois.

Je ne suis pas un expert PHP (et pas dev du tout :joy:), j’ai découvert sur le tas avec Jeedom ! Donc je ne m’offusquerai absolument pas de nouvelles versions du code optimisées et faites dans les règles de l’art … Au contraire, je prends toutes les bonne normes de développement :wink:

Norbert

1 « J'aime »

C’était bien l’idée, que ça puisse servir à quelqu’un. Moi aussi c’est plutôt de la bidouille en PHP.

Là je viens de mettre le script sur un autre Jeedom, et bien ça marche sans l’ajout du champ dans $headers. Mais les lignes du fichier log ne commencent pas par des espaces. Pourtant c’est la même version du plugin Cloud Sync Pro, va comprendre.

Génial ce script ! Ca va bien me servir. Merci à vous pour le partage et les contributions.

Personnellement j’ai remplacé les notif JeedomConnect par des notifs Jeemate et ca fonctionne sans problème :+1:

Je vais voir si je peux l’adapter à Dropbox :stuck_out_tongue:

2 « J'aime »

Bonjour,

En effet la mise à jour de la liste avant le if me semble inutile. Étant donné que tu la fait dans le bloc else.

Hello,

Merci @ngrataloup pour ce partage et ce script très pratique !

Pour info, de mon coté j’utilise cloudsyncpro vers un NAS en FTP et ça fonctionne correctement sans adaptation :slight_smile:

Bon ben en fait… Pas besoin de l’adapter pour Dropbox.
Il suffit de mettre directement la commande Liste en entrée du script, et ça marche niquel !

En fait, je pense que la fonction list utilisée par cloudsyncpro (rclone) renvoie le même format quelquesoit le protocole (gdrive, dropbox, ftp, …)
rclone lsl renvoie

$ rclone lsl swift:bucket
    60295 2016-06-25 18:55:41.062626927 bevajer5jef
    90613 2016-06-25 18:55:43.302607074 canole
    94467 2016-06-25 18:55:43.046609333 diwogej7
    37600 2016-06-25 18:55:40.814629136 fubuwic

Norbert

Hello,

Je confirme que le format est commun quelque soit le stockage.
Pour information, une nouvelle version du plugin cloudsyncpro devrait voir le jour avec beaucoup d’amélioration sur la gestion des erreurs et le suivi des sauvegardes.

Je prévois aussi un système de notifications, un historique des sauvegardes et …

5 « J'aime »

Si tout est intégré au plugin, c’est encore mieux :star_struck:

Hello,
Je ne sais pas si Phpvarious suit ce fil, mais entre son Info Backup et celui là il devrait y avoir peut-être la possibilité d’avoir une remontée complète de l’état des backups dans un même widget ?
Bien cordialement

Tu as un sujet qui parle de cet info backup ? je ne trouve rien

https://phpvarious.github.io/documentation/widget/fr_FR/widget_scenario/

Merci beaucoup pour le partage, même si pour le moment il ne semble pas fonctionner chez moi :frowning:

Voici ma configuration:

Et j’utilise le Framework SC de dJuL.

J’ai configuré CloudSync Pro avec une sauvegarde par FTP et j’ai rajouté la fonction de list pour le scénario.

Les sauvegardes fonctionnent et la fonction de list aussi et voici le contenu du fichier pour la fonction list,

Pour le problème, j’ai rajouté un affichage du retour de la fonction csv-to-array et de la table data dans le script pour vous montrer le log,

------------------------------------
[2023-05-06 16:14:53][SCENARIO] -- Start : Scenario lance manuellement.
[2023-05-06 16:14:53][SCENARIO] - Exécution du sous-élément de type [action] : action
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #cmdListe# => #2212#
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #seuilTailleMin# => 20
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #seuilTailleMax# => 300
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #AlerteCentreMsg# => 1
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #AlerteNotif# => 1
[2023-05-06 16:14:53][SCENARIO] Mise à jour du tag #cmdNotif# => #665#
[2023-05-06 16:14:53][SCENARIO] - Exécution du sous-élément de type [action] : code
[2023-05-06 16:14:53][SCENARIO] Exécution d'un bloc code 
[2023-05-06 16:14:53][SCENARIO]  - ----------------------------------------
[2023-05-06 16:14:53][SCENARIO]  - - Framework sc v0.995d
[2023-05-06 16:14:53][SCENARIO]  - - Vos scenarios en PHP
[2023-05-06 16:14:53][SCENARIO]  - - by dJuL
[2023-05-06 16:14:53][SCENARIO]  - ----------------------------------------
[2023-05-06 16:14:53][SCENARIO]  - INFO: DOCUMENTATION DISPONIBLE EN LOCAL EN CLIQUANT ICI
[2023-05-06 16:14:53][SCENARIO]  - - - 
[2023-05-06 16:14:53][SCENARIO]  - /* - Execution du Bloc code n°1 - DEBUG NATIF ACTIF (php >= v7) */
[2023-05-06 16:14:53][SCENARIO]  - - - 
[2023-05-06 16:14:53][SCENARIO] ┌──────────── Logs bloc code - version du 03/05/2023 19:00
[2023-05-06 16:14:53][SCENARIO] | Fichier log : /var/www/html/log/cloudsyncpro.#2212
[2023-05-06 16:14:53][SCENARIO] | Taille min  : 20Mo
[2023-05-06 16:14:53][SCENARIO] | Taille max  : 300Mo
[2023-05-06 16:15:13][SCENARIO] Debug : Retour csv_to_array : [false,false,false,false,false,false,false]
[2023-05-06 16:15:13][SCENARIO] Debug : data[0] : false
[2023-05-06 16:15:13][SCENARIO] Debug : data[1] : false
[2023-05-06 16:15:13][SCENARIO] Debug : data[2] : false
[2023-05-06 16:15:13][SCENARIO] Debug : data[3] : false
[2023-05-06 16:15:13][SCENARIO] | Résumé :  (Version : )
[2023-05-06 16:15:13][SCENARIO] |     Nb backup presents   : 3
[2023-05-06 16:15:13][SCENARIO] |     1er backup dispo     : 30/11/1999 (0Mo)
[2023-05-06 16:15:13][SCENARIO] |     dernier backup dispo : 30/11/1999 (0Mo)
[2023-05-06 16:15:13][SCENARIO] |     Taille moyenne       : 0Mo
[2023-05-06 16:15:13][SCENARIO] | /!\ Pb de taille sur un backup - merci de verifier (taille min : 0Mb, max :0Mb)
[2023-05-06 16:15:13][SCENARIO] | /!\ Pas de backup aujourd'hui
[2023-05-06 16:15:13][SCENARIO] └───────────────────────────
[2023-05-06 16:15:13][SCENARIO]  - - - 
[2023-05-06 16:15:13][SCENARIO]  - /* - Fin du Bloc code n°1 - */
[2023-05-06 16:15:13][SCENARIO]  - - - 
[2023-05-06 16:15:13][SCENARIO] Durée d'exécution (depuis le 1er bloc code) : 20239.05 millisecondes
[2023-05-06 16:15:13][SCENARIO] Fin correcte du scénario

J’ai essayé avec le framework et sans, mais même résultat, le fichier est au bon endroit et on a bien les 7 entrées, par contre le retour de la fonction donne tout en null :frowning:

Est ce que quelqu’un aurais une idée?

Merci pour votre aide,

Mathieu

Cela ressemble à ce que j’ai eu avec les lignes du fichier log qui commencent par un espace.

J’ai solutionné en modifiant la variable $header dans la fonction csv_to_array :

    $header    = array(
        'vide',      
        'taille',
        'date',
        'heure',
        'file'
    );
1 « J'aime »

Merci beaucoup, c’était exactement cela :ok_hand:

Mathieu

1 « J'aime »

Bonjour et merci à @ngrataloup pour le boulot et m’avoir filé l’info sur mon autre post (apres-quelques-temps-erreurs-400-comment-etre-au-courant-quand-cela-ne-fonctionne-pas).
Par contre mon erreur avec GoogleApi n’est pas capté par ton script. Je sais pas si le execCmd peut renvoyer un retour pour pouvoir récupérer cette erreur.

------------------------------------
[2024-03-10 13:18:44][SCENARIO] Start : Scenario lance manuellement.
[2024-03-10 13:18:44][SCENARIO] - Exécution du sous-élément de type [action] : action
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #cmdListe# => #694#
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #seuilTailleMin# => 200
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #seuilTailleMax# => 300
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #AlerteCentreMsg# => 1
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #AlerteNotifJC# => 1
[2024-03-10 13:18:44][SCENARIO] Mise à jour du tag #cmdNotifJC# => #57#
[2024-03-10 13:18:44][SCENARIO] - Exécution du sous-élément de type [action] : code
[2024-03-10 13:18:44][SCENARIO] Exécution d'un bloc code
[2024-03-10 13:18:44][SCENARIO] ┌──────────── Logs bloc code - version du 03/05/2023 19:00
[2024-03-10 13:18:44][SCENARIO] | Fichier log : /var/www/html/log/cloudsyncpro.#694
[2024-03-10 13:18:44][SCENARIO] | Taille min  : 200Mo
[2024-03-10 13:18:44][SCENARIO] | Taille max  : 300Mo
[2024-03-10 13:18:44][SCENARIO] Client error: `POST https://oauth2.googleapis.com/token` resulted in a `400 Bad Request` response:
{
"error": "invalid_grant",
"error_description": "Token has been expired or revoked."
}
[2024-03-10 13:18:44][SCENARIO] Fin correcte du scénario

Oui, c’ets fort possible, je teste l’existence ou non d’un fichier de log mais pas si le contenu est cogerent
est-ce que tu pourrais me donner le contenu du log qui se nomme :

cloudsyncpro.#<ID commande>

est l’ID de la commande qui liste le contenu du repertoire de sauvegarde

Norbert

Bonjour

j’ai fait un essaie avec envoie sur TELEGRAM :

mais je ne

rien sur TELEGRAM :

Je ne compre pas pourquoi
Pouvez vous m’aider ?

Résolue j’avais un espace aprés MATTHIEU de la commande TELEGRAM