Page 1 sur 1

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

Publié : 18 nov. 2014, 14:36
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

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 26 nov. 2014, 15:20
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//

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 26 nov. 2014, 15:27
par jackslayter
effectivement , j'ai corrigé ;)

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 27 nov. 2014, 12:04
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

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 27 nov. 2014, 13:17
par jackslayter
j'ai vraiment fait de la me.de dans le copié/collé , ça devrai être bon maintenant :P

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 27 nov. 2014, 13:26
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

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 27 nov. 2014, 14:20
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

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 12 déc. 2014, 11:17
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 !

Re: Backup journalier de Domoticz vers un serveur ftp V2

Publié : 05 juil. 2017, 09:41
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