Script automatique de backup EBS avec cron [Résolu/Fermé]

Signaler
-
 Nalianne -
Bonjour,

Je travaille actuellement sur un script de backup pour Amazon EBS, mon script marche très bien, et lorsque je le lance manuellement, j'obtiens le résultat escompté. Mon problème se situe lorsque j'essaye de l'exécuter avec cron. En fait... rien ne se passe. J'ai cherché toutes les solutions possibles et imaginables, j'ai regardé je ne sais combien de forum, mais même en appliquant à la lettre chacune des recommandations, rien ne se passe.

ma ligne de crontab ressemble actuellement à ça :
2 11 * * * backs.sh >>/dev/null

Merci d'avance pour votre aide

4 réponses

Bonjour,

Dans le cas de l'exécution d'un cronjob, aucun environnement n'est chargé au préalable. Ca signifie entre autre que ta variable PATH est vide.
Tu dois spécifier le chemin absolu de ton script, vérifier qu'il a bien un shebang, et :
- Soit utiliser uniquement des chemins absolus dans ton script ;
- Soit redéfinir le PATH et toutes les variables d'environnement nécessaires au début de ton script ;
- Soit sourcer ton environnement avant de lancer ton script :

2 11 * * * . /home/xxx/.profile ; /path/to/backs.sh >>/dev/null 
J'ai essayé cette solution aussi, mais ça n'a rien changé en fait :s
Je t'ai proposé 3 solutions. Tu as testé laquelle ?
les trois, désolée, je me suis mal exprimée
Essaie d'ajouter un "set -x" au début de ton script et de changer ta ligne de cron :

2 11 * * * /path/to/backs.sh >/tmp/backs_out 2>&1


Ca t'indiquera ce que fait le shell au fur et à mesure. Si tu compares cette trace avec une exécution manuelle, tu verras là où ça diffère.
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 280
Salut,

Est-ce que ton script est exécutable au moins ?

Quel est ton shell ?
Quel système ? Ou distrib ?
alors en fait, apparemment, lorsque je l'exécute automatiquement, il me marque ca : /root/backs.sh: line 16: ec2-create-snapshot: command not found
(manuellement, je n'ai aucun soucis de ce côté tout s'exécute correctement)
ouip, mais en fait manuellement, tout a marché tout le long, c'est vraiment juste pour le lancer avec crontab que tout va mal :/
Messages postés
36299
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 280
Il doit manquer un truc (mais quoi ?) dans l'environnement de la crontab et je ne sais plus quoi te dire ;-((

Attends que "gm" se connecte (en général ça ne devrait pas tarder, c'est la pause déjeuner ;-)) ), sûrement verra-t'il un truc qui m'échappe ...
J'espère.. parce que pour être franche je désespère un peu la ^^' merci beaucoup pour ton aide en tous cas :)
Oula il s'en est passé des choses ici :)

Il manque les export dans ton script après la déclaration des variables EC2_* :
export EC2_CERT
export EC2_HOME
export EC2_PRIVATE_KEY
export PATH
export JAVA_HOME
Merci énormément pour ton aide ! Tout fonctionne parfaitement !