web-dev-qa-db-fra.com

Crontab - Exécuter dans le répertoire

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?

152
user333746

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).

280
Gilles