SSH/crontab et fichier .bash_profile

 

Une question souvent posée est la suivante : 

Comment se fait-il qu'un script qui fonctionne lorsqu'on est connecté sur une machine ne fonctionne plus lorsqu'on l'exécute en SSH ou depuis la crontab ?

La réponse est assez simple : Les variables d'environnement n'ont pas été chargées. 

Afin de remédier à ce problème il suffit d'exécuter le script en question avec le script suivant : 

bash -l -c 'exec CHEMIN_COMPLET_DU SCRIPT param1 param2'