Я разработчик php с использованием capistrano с многоступенчатой поддержкой для развертывания моего приложения на своих производственных серверах. Следовательно, у меня очень мало знаний о рубинах или рельсах.scheduling capistrano function using cron
Я достаточно вычислил, чтобы добавить новую функцию под названием «flush» в мой сценарий deploy.rb, который вызывает скрипт php на всех моих производственных серверах. Целью «флеша» является подключение к каждому производственному серверу и выполнение скрипта php, который записывает все журналы из локальных таблиц mysql каждого сервера в мой мастер db.
Я уверен, что эта функция работает с момента ее выполнения из командной строки (cap prod flush) дает точные результаты.
Я хотел бы запланировать задание cron, которое вызывает эту функцию каждый час. Для начала, я написал Баш скрипт, который выполняет функцию:
!#/bin/bash
`/usr/bin/cap prod flush`
Однако, когда работа хрон запускает скрипт, это электронная почта меня следующая ошибка:
задача «прод» не существует
Я считаю, что проблема заключается в том, когда запущен cron, и не выполняет сценарий в соответствующем каталоге. Я попытался изменить переменную $ PATH и $ HOME в сценариях bash, но я не могу заставить ее работать.
Может ли кто-нибудь предложить мне помощь?
Спасибо!