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