Je voudrais définir un travail à exécuter quotidiennement dans la crontab racine. Mais je voudrais qu'il l'exécute à partir d'un répertoire particulier afin de pouvoir trouver tous les fichiers nécessaires, car l'application dispose de nombreux chemins relatifs.
Quoi qu'il en soit, puis-je dire à crontab de fonctionner à partir d'un répertoire particulier?
Tous les travaux sont exécutés par un shell. Par conséquent, démarrez cet extrait de shell par une commande permettant de modifier le répertoire.
cd /path/to/directory && ./bin/myapp
En ce qui concerne l'utilisation de &&
au lieu de ;
: normalement cela ne fait aucune différence, mais si la commande cd
échoue (par exemple parce que le répertoire n'existe pas) avec &&
l'application n'est pas exécutée, alors qu'avec ;
il est exécuté (mais pas dans le répertoire prév).