[Bash] Backup journalier de Domoticz vers un serveur ftp V2

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

[Bash] Backup journalier de Domoticz vers un serveur ftp V2

Message par jackslayter »

sur la base de http://easydomoticz.com/backup-journali ... rveur-ftp/ voici ma version améliorée qui sauvegarde tout les scripts et les lua (/home/pi/domoticz/scripts ... /lua)

backup_s.sh

Code : Tout sélectionner

#!/bin/bash
mkdir /var/tmp/domoticz_backup
TIMESTAMP=`/bin/date +%Y-%m-%d_%H:%M`
BACKUPFILE="domoticz_$TIMESTAMP.db"
BACKUPFILEGZ="domoticz_backup_$TIMESTAMP".tar.gz
/usr/bin/curl -s http://ADRESSE_IP:8080/backupdatabase.php > /var/tmp/domoticz_backup/$BACKUPFILE
cp -R /home/pi/domoticz/scripts/lua/ /var/tmp/domoticz_backup/
cp -R /home/pi/domoticz/scripts/*_s.sh /var/tmp/domoticz_backup/ #REMPLACER _s par ce que vous voulez, cela sert a sauvegarder que les scripts perso il faut donc a chaque script cree ajouter ce _s
cd /var/tmp/
tar cvzf "/var/tmp/$BACKUPFILEGZ" domoticz_backup
curl -s --disable-epsv -v -T"/var/tmp/$BACKUPFILEGZ" -u USERNAME:PASSWORD ftp://ftp.x.fr//
rm -R /var/tmp/domoticz_backup
rm /var/tmp/"$BACKUPFILEGZ"
un petit chmod
pour l’exécuter (à 3h00 tous les jours) un cron 0 3 * * * sudo /home/pi/domoticz/scripts/backup_s.sh 2>&1 >> /dev/null
Dernière modification par jackslayter le 27 nov. 2014, 13:15, modifié 2 fois.
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par loops »

Salut à tous !
Je crois qu'il y a une erreur dans le script. En tous cas pour le faire fonctionner chez moi j'ai du le modifier ...

Code : Tout sélectionner

cd /var/tmp/
tar cvzf "/var/tmp/$BACKUPFILEGZ" domoticz_backup
On se trouve dans /var/tmp et on créé une archive du dossier domoticz_backup. L'archive se trouve dons dans le dossier /var/tmp.

on vient maintenant chercher l'archive pour l'uploader sur le FTP :

Code : Tout sélectionner

curl -s --disable-epsv -v -T"/var/tmp/domoticz_backup/$BACKUPFILEGZ" -u USERNAME:PASSWORD ftp://ftp.x.fr//
Le problème c'est que l'on vient la chercher dans /var/tmp/domoticz_backup !

J'ai donc modifié cette commande par :

Code : Tout sélectionner

curl -s --disable-epsv -v -T"/var/tmp/$BACKUPFILEGZ" -u USERNAME:PASSWORD ftp://ftp.x.fr//
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par jackslayter »

effectivement , j'ai corrigé ;)
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par loops »

Salut !

J'ai apporté une autre modif, cette fois ci sur la commande CRON ...

Code : Tout sélectionner

* 3 * * * sudo /home/pi/domoticz/scripts/backup_s.sh 2>&1 >> /dev/null
Cette commande execute une sauvegarde toutes les minutes (ou presque) à 3h du matin (3h00, 3h01, 3h02, ...)

J'ai modifié pour :

Code : Tout sélectionner

0 3 * * * sudo /home/pi/domoticz/scripts/backup_s.sh 2>&1 >> /dev/null
La sauvegarde se fait du coup une fois par nuit !!! ;D

Image
Dernière modification par loops le 27 nov. 2014, 13:18, modifié 1 fois.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par jackslayter »

j'ai vraiment fait de la me.de dans le copié/collé , ça devrai être bon maintenant :P
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par loops »

Je pense aussi !! ;D En tous cas chez moi ça tourne bien !!! ;D

Petite précision pour ceux qui auraient (comme moi) une erreur lors de l’exécution de la commande CRON :

Code : Tout sélectionner

pi@domoticzpi ~ $ sudo cron 0 3 * * * sudo /home/pi/domoticz/scripts/backup_s.sh 2>&1 >> /dev/null
cron: can't lock /var/run/crond.pid, otherpid may be 1782: Resource temporarily unavailable
Je ne connais pas la cause de ce problème mais je l'ai facilement contourné en faisant un :

Code : Tout sélectionner

crontab -e
Et en ajoutant en fin de fichier la ligne :

Code : Tout sélectionner

0 3 * * * sudo /home/pi/domoticz/scripts/backup_s.sh 2>&1 >> /dev/null
Dernière modification par loops le 12 déc. 2014, 11:15, modifié 1 fois.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par jackslayter »

normalement il n'y a pas besoin du sudo pour crontab -e
il faut faire dans l'invite de commande

Code : Tout sélectionner

crontab -e
et ajouter la ligne
quitter avec ctrl + x , enregistrer
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
loops
Messages : 306
Inscription : 13 nov. 2014, 18:14

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par loops »

Tu as tout à fait raison !
D'autant plus qu'en exécutant l’édition du cron avec sudo, j'avais une archive qui était déposée sur le serveur FTP mais, en la vérifiant, je me suis aperçu que son contenu était foireux !

J'ai refait le cron sans sudo et ça fonctionne parfaitement !
Cissou
Messages : 98
Inscription : 25 févr. 2015, 13:10

Re: Backup journalier de Domoticz vers un serveur ftp V2

Message par Cissou »

salut, je déterre ce post, car j'ai un soucis avec les backups de la DB

Elle ne se font plus.

voici ma commande

Code : Tout sélectionner

TMPDIR="/home/pi/tmp"
TIMESTAMP=`/bin/date +%Y%m%d%H%M%S`
BACKUPFILE="db_domoticz_$TIMESTAMP.db"
BACKUPFILEGZ="$BACKUPFILE".gz
/usr/bin/curl -s http://$DOMO_IP:$DOMO_PORT/backupdatabase.php > $TMPDIR/$BACKUPFILE
tar zcvf BACKUPFILEGZ $TMPDIR/$BACKUPFILE
curl -s --disable-epsv -v -T"$TMPDIR/$BACKUPFILEGZ" -u"$USERNAME:$PASSWORD" "ftp://$SERVER$DESTDIR/"
et l'erreur que j'ai

Code : Tout sélectionner

tar: Suppression de « / » au début des noms des membres
/home/pi/tmp/db_domoticz_20170705093435.db
curl: Can't open '/home/pi/tmp/db_domoticz_20170705093435.db.gz'!
le fichier /home/pi/tmp/db_domoticz_20170705093435.db existe pourtant bel et bien avec la bonne taille
Répondre