Периодически запускайте запрос MS SQL на нескольких сайтах.

Мне было поручено периодически отправлять данные Google Analytics в SQL Server 2005, работающий на разных серверах, с разных веб-сайтов (около 450 из них), сгруппированных на разных серверах. Я понимаю, что могу выполнять запросы PDO с PHP для записи в БД SQL Server, но мне неясно во второй части, делая это периодически. Клиент хочет, чтобы данные передавались ежечасно для одних данных и ежедневно для других.

Будет ли установка cron-работы лучшим способом для этого? Нужно ли добавлять фрагмент PDO на каждый сайт, с которого я хочу отправить данные, или я могу выполнить запрос для нескольких сайтов из одного местоположения на каждом сервере? Являются ли рабочие места cron и PDO лучшим способом или более практичным?

1 ответ

Решение

Вы не упомянули, на какой ОС работают эти сайты, но я полагаю, Linux, потому что вы упомянули задания cron; в этом случае я бы порекомендовал PERL или Python, которые полностью поддерживают выполнение SQL-запросов и действительно легко запускаются как сценарии оболочки и, следовательно, как задания cron. Я бы избегал PHP, так как заставить его работать из сценария оболочки может быть несколько сложнее, но это ваш вызов: вы можете быть намного увереннее с PHP, чем другие языки, и вы действительно можете использовать PHP для чего-то другого, кроме сборки интернет страницы.

Задания Cron - это определенно лучший способ при планировании выполнения задач в системе Unix/Linux.

Если случайно вам нужно сделать то же самое в Windows, я все равно рекомендую тот же подход (с запланированными задачами вместо заданий cron): в то время как SQL Server имеет инструменты командной строки для выполнения запросов (osql а также sqlcmd), вам все равно придется обернуть какой-то сценарий вокруг них, чтобы собрать и отформатировать ваши данные; Здесь вам может помочь PowerShell (и он также может выполнять прямые запросы к SQL Server), но вы, вероятно, будете лучше знакомы с другими языками сценариев, и PERL, и Python доступны в Windows.

Другие вопросы по тегам