RaspFR :: Forum

Forum de la communauté francophone de Raspberry PI.

Vous n'êtes pas identifié(e).

Annonce

Canal irc: #raspfr sur zeolia.net

#1 04-05-2016 10:11:29

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Système de sauvegarde via rsync

Bonjour à tous,

je suis nouveau dan l'univers Raspberry, et aussi un peu en linux de manière général.

Je possède malgré tout un serveur dédié que j'administre moi-même, et j'ai fait l'acquisition d'un Raspberry Pi 3, sur lequel j'ai installé Raspbian Jessie, afin de me confectionner un système de sauvegarde.

Mon script fonctionne si je le lance depuis la console, mais en tache cron, la synchronisation ne se fait pas.
Mais le script se lance car je génère un log.
Je n'ai pas trouver comment activer le mode bavard afin d'avoir plus d'information.

J'ai installer rsync, sshpass et créer des clef ssh mais je ne comprends pas le problème.

voici le script :

[== Indéfini ==]
#!/bin/bash

#test avec sshpass
#sshpass -p 'MonMotDePasse' rsync -r root@XXX.XXX.XXX.XXX:/var/backup /media/pi/BACKUP

echo '---'
echo $(date +%d/%m/%Y - %H:%M)

eval 'ssh-agent'
ssh-add .ssh/id_dsa

sudo /usr/bin/rsync -avz -e "/user/bin/ssh -i /home/pi/.ssh/id_dsa"  root@XXX.XXX.XXX.XXX:/var/backup /media/pi/BACKUP

echo '---'

J'ai testé avec ou sans sudo, avec ou sans /usr/bin/

j'ai mis mes fichiers et dossiers en chmod 777 sur mon rapsberry pour voir mais aucune différence.

Si quelqu'un à une idée je suis preneur...

Hors ligne

#2 04-05-2016 11:36:04

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 413

Re : Système de sauvegarde via rsync

Je pense que ton souci vient de la ligne:

ssh-add .ssh/id_dsa

Avec crontab, la plupart des variables d'environnement ne sont pas chargées, il te manque surement le home.
Je te conseille donc d'utiliser le chemin complet:

ssh-add /home/pi/.ssh/id_dsa

(apparté) Pour ma part, j'ai fait un système identique mais j'ai mis ma clé ssh sur le serveur distant pour avoir une authentification automatique. Du coup, je ne fais que du rsync, sans compliquer la ligne de commande.
(apparté bis) Tu autorises le root à se connecter directement en ssh sur ton serveur ? Ceci est une faille de sécurité car tu "donnes" un login a d'éventuels attaquants, ils n'ont plus qu'à chercher le pass.

Hors ligne

#3 04-05-2016 14:32:43

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Re : Système de sauvegarde via rsync

Bonjour,

Merci de ta réponse, pour une raison que j'ignore mon script à fini par fonctionner, je vais le laisser tourner ce week end pour voir si cela est toujours le cas au bout de quelques jours, sinon j'essaierai ta solution, et si il est fonctionnel, je notifierai le script final ici.
Je sais que niveau sécurité c'est moyen, mais je début en gestion de serveur, j'ai donc voulu commencer par avoir une méthode fonctionnelle avant de l'améliorer.
Pour la clef ssh j'ai suivi cette méthode : http://prendreuncafe.com/blog/post/2005 … ur-distant
Mais je ne vois pas comment faire la procédure inverse, mettre la clef ssh sur le serveur.

Hors ligne

#4 04-05-2016 14:50:34

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 413

Re : Système de sauvegarde via rsync

Ah oui, je comprends, tu as mis un mot de passe sur ta clé.
Essaye de refaire une clé (supprime la précédente) en n'entrant rien lorsque le système te demande une passphrase (tu fais juste entrée à la demande et à la confirmation).

Hors ligne

#5 04-05-2016 14:53:13

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Re : Système de sauvegarde via rsync

C'est déjà fait, j'ai refait la procédure complète sans notifier de passphrase.
Si la sauvegarde se déroule correctement cette nuit, je fournis le script final, et je commencerai à voir pour améliorer la sécurité.
Merci

Hors ligne

#6 04-05-2016 15:59:05

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 413

Re : Système de sauvegarde via rsync

Au cas où, voici le script que j'utilise pour faire une sauvegarde miroir sur mon serveur (l'inverse de ce que tu fais donc):

#!/bin/sh

BASE="/media/pidrive/"
SRC="${BASE}sources/"
TGT="backup@xxx.xxx.xxx.xxx:/home/backup"

LOG="/tmp/rsync.log"

#####################
# DO NOT EDIT BELOW #
#####################

NOW=$(date +"%Y%m%d")

echo "Starting rsync $NOW" >> $LOG
# mode recup #
/usr/bin/rsync -vrz --size-only --delete-after --exclude '*.tgz' ${SRC}/* ${TGT}/mirror/
/usr/bin/scp ${BASE}${NOW}.tgz ${TGT}/
echo "Ending rsync" >> $LOG

exit 0

Hors ligne

#7 04-05-2016 16:26:33

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Re : Système de sauvegarde via rsync

Merci beaucoup,
je vais garder cela de côté.

Hors ligne

#8 04-05-2016 16:28:34

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 413

Re : Système de sauvegarde via rsync

Attention, c'est un fonctionnement en mode miroir pour la partie rsync, c'est à dire que ça met à jour les fichiers qui doivent l'être (taille modifiée), ajoute ceux qui ne sont pas sur la destination et supprime ceux qui ne sont plus sur le serveur source.

Hors ligne

#9 09-05-2016 11:50:32

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Re : Système de sauvegarde via rsync

Bonjour,
Désolé d'avoir mis autant de temps à répondre mais je voulais être sur que tout fonctionne.

J'ai du lancer une fois mon script manuellement afin de valier ma clef d'après se que j'ai compris, mais sinon sa y est mon script fonctionne enfin même si il demande à être amélioré.

Voici se que cela a donné au final :

[== Indéfini ==]
#!/bin/bash

echo '---'

echo 'Début' $(date +%d/%m/%Y-%H:%M)

eval 'ssh-agent'

ssh-add .ssh/id_dsa

sudo /usr/bin/rsync -avz -e "/usr/bin/ssh -i /home/pi/.ssh/id_dsa" USER@XXX.XXX.XXX.XXX:/backup /media/pi/BACKUP

echo 'Fin' $(date +%d/%m/%Y-%H:%M)

echo '---'

sudo shutdown -h now

Hors ligne

#10 09-05-2016 13:19:39

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 413

Re : Système de sauvegarde via rsync

En fait, la seule chose que je ne comprends pas, c'est pourquoi tu passes par une évaluation de la commande ssh pour te loguer, alors que rsync est capable de faire l'authentification par clé.

Et quand tu dis "valider ta clé", n'est-ce pas plutôt ajouter ton serveur dans les hôtes connus ?

Hors ligne

#11 09-05-2016 13:23:57

Lopale
Membre
Lieu : Port-Lesney
Inscription : 04-05-2016
Messages : 7
Site Web

Re : Système de sauvegarde via rsync

Il est fortement possible que l' eval 'ssh-agent' ne serve pas effectivement.
j'ai fait tellement d'essais que une fois que cela fonctionnait je n'y ai plus touché.
J'essayerai de le retirer pour voir si cela fonctionne toujours.
et oui c'est l'ajout du serveur dans la liste des hôtes, mais je n'avais pas noté la phrase lorsque la question m'a été posé il y a quelques jours.

Hors ligne

Pied de page des forums