J'ai fait une modification au script publié un peu plus haut dans ce sujet
https://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
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 :
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/