J'ai le script suivant me permettant de signer les fichier Release des différents dépots que nous maintenons :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
 
fichier_sign="/mirror/mcollective/dists/lenny
              /mirror/mcollective/dists/squeeze
              /mirror/debian/mirror/apt.puppetlabs.com/debian/dists/lenny
              /mirror/debian/mirror/apt.puppetlabs.com/debian/dists/squeeze"
 
for i in $fichier_sign;
do
  /usr/bin/gpg --passphrase "passwd" --yes --output $i/Release.gpg -ba $i/Release
  if [ $? != 0 ]; then
    echo "Impossible de signer le depot : $i"
  fi
done
L'idée était que ce dernier soit lancé par CRON tous les matins, du fait qu'un apt-mirror est réalisé chaque nuit ...

Ce script fonctionne si je le lance en root.
Or, dès lors que je le met en cron, celui-ci "ne tourne pas". J'ai bien une entrée dans le syslog m'indiquant que CRON a traité ma demande, mais mes fichiers restent inchangé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
(root) CMD (root /opt/scripts/depot/auto-sign.sh 2>&1 > /var/log/auto-sign.log)
Si je passe le script à la main, le résultat est bon, la date de création des fichiers de signatures étant celle à laquelle j'ai lancé à la main le script


Auriez-vous des idées ?