планирование функции Capistrano с помощью Cron - PullRequest
1 голос
/ 05 мая 2009

Я разработчик 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, но не могу заставить их работать.

Может ли кто-нибудь предложить мне помощь?

Спасибо!

1 Ответ

2 голосов
/ 05 мая 2009

изменить на

cd /path/where/deploy.rb/exists
cap prod flush

или

cd /your/app/path/    
cap prod flush
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...