Sauvegarde et exportation des scripts LUA de la DB

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
53l3cu5
Messages : 31
Inscription : 09 juil. 2021, 19:47

Re: Sauvegarde et exportation des scripts LUA de la DB

Message par 53l3cu5 »

c'est bien plus facile à sauvegarder :D ou faire appel à des fonctions contenu dans un autre fichier (si je me souviens bien)
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Sauvegarde et exportation des scripts LUA de la DB

Message par Keros »

L'utilisation des scripts dans les dossiers est, à mon avis, pour une utilisation plus avancée :
  • Tu gères tes scripts comme des fichiers : tu peux ainsi faire du suivi de version.
  • Par contre, obligation d'en faire des sauvegardes en plus de la base de donnée de DomoticZ
  • Tu peux utiliser ton éditeur de code préféré
  • Je pense que tu dois pouvoir avoir tes scripts sur Github et les téléverser dans les dossiers
  • La gestion des Triggers doit être faite dans le nom des fichiers (pour le LUA)
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Doudy
Messages : 457
Inscription : 07 mai 2016, 17:23

Re: Sauvegarde et exportation des scripts LUA de la DB

Message par Doudy »

Merci
;)
RaspberryPi - RFLink - Zwave - WH2600
Domoticz : 2020.2 | Dashticz : V3.12 Master | dzvents : 3.0.2 | Python : 3.7.3
53l3cu5
Messages : 31
Inscription : 09 juil. 2021, 19:47

Re: Sauvegarde et exportation des scripts LUA de la DB

Message par 53l3cu5 »

J'ai fait une modification au script publié un peu plus haut dans ce sujethttps://easydomoticz.com/forum/viewtopi ... 190#p97190

Par sécurité, en plus de la sauvegarde automatique, une fois par mois je transférai la dernière sauvegarde effectué dans un répertoire dans Google Drive. Cette semaine, j'ai découvert que l'on pouvait synchroniser Google Drive avec Raspbian. J'ai donc fait une légère modification à mon script.
Le fonctionnement reste le même mais une fois la sauvegarde terminé, on transfère cette sauvegarde sur Google Drive. J'aurais aimé écrire directement dans le répertoire de Google Drive mais il y a des problèmes de droit d'utilisateur depuis Domoticz (root au lieu de pi). Le plus simple que j'ai trouvé est donc de transférer les fichiers une fois la sauvegarde faite.

Code : Tout sélectionner

--Sauvegarde les scripts à 5h01 
if Timer == '05:01' then
    -- retourne le jour de l'année ex: "365"
    local jour = os.date("%j")
    local logs = '/home/pi/domoticz/scripts/lua/logs/'
    local gdrive = '/home/pi/mnt/gdrive/Domoticz/lua/logs/'
    SaveTable('/home/pi/domoticz/domoticz.db', 'EventMaster', logs..jour..'_')
    os.execute('sudo -u pi mv '..logs..'* '..gdrive)
end
Pour connecter Google Drive (ou votre service cloud préférée) j'utilise rclone dans le terminal

Code : Tout sélectionner

rclone config
Il faut suivre le déroulé en respectant les choix par défaut. En cherchant sur internet, on trouve plusieurs tuto pour l'utiliser, mais le mieux reste quand même d'aller sur le site de https://rclone.org/#providers et de suivre la procédure correspondant à votre service cloud (que l'on obtient en cliquant sur "config" au bout de la ligne).

Une fois la connexion établie (gdrive), il faut la relier à un répertoire ($HOME/mnt/gdrive).

Code : Tout sélectionner

mkdir mnt
cd mnt
mkdir gdrive
rclone mount gdrive: $HOME/mnt/gdrive
Ca y est le script automatique fonctionne !
Le seul problème c'est que, s'il faut redémarrer votre machine, il faudra recommencer la commande :

Code : Tout sélectionner

rclone mount gdrive: $HOME/mnt/gdrive
C'est pourquoi il faut rajouter une ligne dans crontab

Code : Tout sélectionner

crontab -e
# Ajouter la ligne ci-dessous en fin de fichier
@reboot rclone mount gdrive: $HOME/mnt/gdrive/
Répondre