#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
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