Je suis un développeur php utilisant capistrano, avec un support multi-étapes, pour déployer mon application sur mes serveurs de production. Par conséquent, j'ai très peu de connaissances sur les rubis ou les rails.programmer la fonction capistrano en utilisant cron
J'ai trouvé assez de choses pour ajouter une nouvelle fonction appelée 'flush' à mon script deploy.rb qui appelle un script php sur tous mes serveurs de production. Le but du 'flush' est de se connecter à chaque serveur de production et d'exécuter un script php qui écrit tous les logs des tables mysql locales de chaque serveur vers ma base de données master.
Je suis sûr que la fonction fonctionne depuis que l'exécution à partir de la ligne de commande (bouchon prod chasse) produit des résultats précis.
Je voudrais planifier un travail cron qui invoque cette fonction toutes les heures. Pour commencer, j'ai écrit un script bash qui exécute la fonction:
!#/bin/bash
`/usr/bin/cap prod flush`
Cependant, lorsque la tâche cron exécute le script, il e-mails moi la erreur suivante:
la tâche « prod » n'existe pas
Je crois que le problème est lorsque le cron est exécuté, ce n'est pas l'exécution du script dans le bon répertoire. J'ai essayé de changer les variables $ PATH et $ HOME dans les scripts bash, mais je n'arrive pas à le faire fonctionner.
Quelqu'un pourrait-il m'aider?
Merci!