Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/04/2011, à 09:12

général03

[Résolu] Cron duplicity avec clé GPG

Bonjour

j'ai mis en place une backup des fichiers de configuration de mon serveur mais je n'arrive pas à faire fonctionner la backup avec duplicity.
Dans sudo crontab -e

#Synchro à 12 H 00
00 12 * * * /home/user/script.sh

Et dans mon script

export PASSPHRASE=toto
duplicity --encrypt-key "0F000000" --sign-key "0F000000" /etc/apache2/sites-available/default/ file:////media/md0/Backup/
unset PASSPHRASE

BIen entendu la clé 0F000000 est ma clé perso et elle est bien valide car quand je ne passe pas par crontab ça fonctionne.

Mais la backup ne se fait pas avec crontab. Dans /var/mail/root

Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sat Apr  9 09:57:21 2011
GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: no default secret key: secret key not available
gpg: [stdin]: sign+encrypt failed: secret key not available
===== End GnuPG log =====

Merci pour votre aide

Dernière modification par général03 (Le 10/04/2011, à 09:16)

Hors ligne

#2 Le 09/04/2011, à 10:41

Vysserk3

Re : [Résolu] Cron duplicity avec clé GPG

Salut,
Tu édites la crontab de root là (donc de l'administrateur), donc tout script est exécuté avec les droits root.
duplicity se lance en tant que root, c'est pour ça qu'il ne peut pas trouver l'identifiant de la clé (car il regarde dans le dossier personnel de root, à savoir /root).
Enlève simplement le sudo de la commande d'édition crontab -e, tu éditeras ainsi la crontab de ton utilisateur.

Une autre solution, si tu veux quand même pouvoir lancer le script en tant que root (ce qui peut être pratique si tu n'as pas tous les droits de lecture sur certains dossier à sauvegarder), C'est de créer un autre script qui appelle ton script de cette manière :

#!/bin/sh
sudo -u user /home/user/script.sh

Et tu appelles ce script dans la crontab de root (à éditer avec le sudo cette fois).

Hors ligne

#3 Le 09/04/2011, à 11:11

général03

Re : [Résolu] Cron duplicity avec clé GPG

En faite je le lancer en root car les fichiers que je veux copier nécessite d'être en root.
J'ai essayer d'appeler un script intermédiaire mais j'ai ce message d'erreur

Local and Remote metadata are synchronized, no sync needed.
Last full backup date: Sat Apr  9 09:57:21 2011
GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: no default secret key: secret key not available
gpg: [stdin]: sign+encrypt failed: secret key not available
===== End GnuPG log =====

Hors ligne

#4 Le 09/04/2011, à 13:28

Vysserk3

Re : [Résolu] Cron duplicity avec clé GPG

Essaye de virer les guillemets autour des identifiants des clés wink

Dernière modification par Vysserk3 (Le 09/04/2011, à 13:28)

Hors ligne

#5 Le 09/04/2011, à 13:48

général03

Re : [Résolu] Cron duplicity avec clé GPG

J'ai essayé d'enlever les guillement et en séparant par un espace

duplicity --encrypt-key 0F000000 --sign-key 0F000000 /etc/apache2/sites-available/default/ file:////media/md0/Backup/

Mais cette fois...

Traceback (most recent call last):
  File "/usr/bin/duplicity", line 1239, in <module>
    with_tempdir(main)
  File "/usr/bin/duplicity", line 1232, in with_tempdir
    fn()
  File "/usr/bin/duplicity", line 1133, in main
    sync_archive()
  File "/usr/bin/duplicity", line 947, in sync_archive
    copy_to_local(fn)
  File "/usr/bin/duplicity", line 899, in copy_to_local
    fileobj = globals.backend.get_fileobj_read(rem_name)
  File "/usr/lib/python2.6/dist-packages/duplicity/backend.py", line 449, in get_fileobj_read
    self.get(filename, tdp)
  File "/usr/lib/python2.6/dist-packages/duplicity/backends/localbackend.py", line 62, in get
    local_path.writefileobj(source_path.open("rb"))
  File "/usr/lib/python2.6/dist-packages/duplicity/path.py", line 531, in open
    result = open(self.name, mode)
IOError: [Errno 2] No such file or directory: '//media/md0/Backup/duplicity-inc.20110409T075721Z.to.20110409T080002Z.manifest.gpg'

Mon export de la passphrase est bien faite ?

Hors ligne

#6 Le 09/04/2011, à 17:47

Vysserk3

Re : [Résolu] Cron duplicity avec clé GPG

Il y a un / de trop après le file://
C'est file:///un/chemin/ et pas file:////un/chemin/
Vérifie bien aussi que /media/md0/ est bien monté et que le dossier Backup existe.

Hors ligne

#7 Le 09/04/2011, à 18:18

général03

Re : [Résolu] Cron duplicity avec clé GPG

J'ai bien enlever le / en trop mais en vérifiant le dossier Backup existe bien mais pas le fichier qu'il précise !!!!!

IOError: [Errno 2] No such file or directory: '/media/md0/Backup/duplicity-full-signatures.20110409T075721Z.sigtar.gpg'

Que se pas t il ??
Merci pour ton aide

Hors ligne

#8 Le 09/04/2011, à 18:28

Vysserk3

Re : [Résolu] Cron duplicity avec clé GPG

Faudrait partir avec un cache local propre pour duplicity, pour cela fais copier coller de :

mv ~/.cache/duplicity{,.old}

Ca renommera le dossier utilisé par duplicity pour stocker localement dans un cache des informations sur les sauvegardes (signatures).

Dernière modification par Vysserk3 (Le 09/04/2011, à 18:32)

Hors ligne

#9 Le 09/04/2011, à 18:37

général03

Re : [Résolu] Cron duplicity avec clé GPG

Malgrès ta commande ca ne change rien !!
Ne serait se pas un problème de droit sur le cache ou le dossier Backup ?

Dernière modification par général03 (Le 09/04/2011, à 18:38)

Hors ligne

#10 Le 10/04/2011, à 09:15

général03

Re : [Résolu] Cron duplicity avec clé GPG

Je viens de supprimer mon cache ~/.cache/duplicity et toutes mes sauvegardes du dossier Backup, comme ça je repars sur de bonne base.
Je lance mon crontab qui me dit permission denied, donc je change les droits sur Backup pour que l'utilisateur de duplicity est full accès....
Et hop ça fonctionne !!!
Merci beaucoup de ton aide

Hors ligne