Запуск постоянно обновляемого скрипта - PullRequest
3 голосов
/ 28 сентября 2010

У меня есть PHP-скрипт, который я постоянно обновляю, и мне нужно запустить его на нескольких серверах для сбора данных на основе файлов конфигурации, таких как php ini, phpinfo и других файлов конфигурации.Мне нужно убедиться, что запускается всегда последняя версия скрипта, но это создает досадную проблему обслуживания, потому что скрипт всегда обновляется.

Так что я бы хотел хранить скрипт PHP в другом центральном месте и иметь общий скрипт, который никогда не меняется на интересующем сервере.Общий сценарий PHP отправляет данные в центральный сценарий и получает обратную связь без необходимости посещать сервер, чтобы изменить код на новый сценарий.Как это может быть сделано?Это API?и какой лучший способ сделать это?Я использую PHP

Если я не объясняю проблему ясно, пожалуйста, спросите меня, есть ли что-то неясное.

Ответы [ 4 ]

3 голосов
/ 28 сентября 2010

Вы можете развернуть php-файл, который будет проверять на центральном сервере, есть ли новая версия скрипта, если это так, загрузить, запустить его и сохранить эту версию вместе с тегом версии.

В следующий раз, проверьте наличие новой версии, если версия такая же, просто запустите локальный скрипт.В противном случае повторите первый шаг.

При таком подходе вы также можете получить некоторые дополнительные преимущества, такие как возможность настраивать пользовательский процесс в зависимости от машины, на которой выполняется процесс, или получать отчеты, отправляемые обратно на центральный сервер, и т. Д.

3 голосов
/ 28 сентября 2010

Похоже, вам нужен инструмент управления конфигурацией, такой как Puppet или cfengine.

2 голосов
/ 28 сентября 2010

scheduledtask.sh:

svn update DataGatherer.php
php DataGatherer.php
2 голосов
/ 28 сентября 2010

Для этого вы можете смонтировать общий ресурс NFS. Или, если вы хотите более высокую производительность, iSCSI по сравнению с GigE будет отвечать всем требованиям. Но реально rsync, вероятно, хорошо сработает.

...