Essayer d'exécuter un simple script de sauvegarde AWS CLI. Il parcourt les lignes d'un fichier include, sauvegarde ces chemins jusqu'à S3 et sauvegarde la sortie dans un fichier journal. Lorsque j'exécute cette commande directement, elle s'exécute sans aucune erreur. Lorsque je l'exécute via CRON, j'obtiens une erreur «Impossible de localiser les informations d'identification» dans mon journal de sortie.
Le script shell:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
Je n'ai ajouté la ligne au fichier de configuration qu'après avoir commencé à voir l'erreur, pensant que cela pourrait la corriger (même si je suis pratiquement sûr que c'est là qu'AWS regarde par défaut).
Le script shell s'exécute en tant que root. Je peux voir le fichier de configuration AWS à l'emplacement spécifié. Et tout me semble bien (comme je l'ai dit, cela fonctionne bien en dehors de CRON).
~/.aws/config
.