Executa a consulta SQL a partir do cron

2

Gostaria de executar uma consulta SQL via cron. Imaginei criar um arquivo .sql e chamá-lo de um script que coloco na pasta cron. A consulta é relativamente grande e não foi escrita por mim, então prefiro não ter que recriá-la no PHP.

Alguém pode fornecer alguma ajuda? Não estou exatamente claro sobre como executar a consulta SQL a partir do script. Agradecemos antecipadamente.

EDIT: Apenas para algumas informações de fundo, a consulta destina-se a pegar dados de várias tabelas e organizá-lo em um arquivo csv.

    
por Nick 26.07.2011 / 02:44

2 respostas

0

A solução que acabei usando foi colocar a consulta em um "documento aqui". Este script bash foi então implementado com o cron. Para mais informações, confira este link: link

E no caso de o link ficar inativo, aqui está um trecho do código de amostra:

#! /usr/bin/env bash
# execute some bash scripting commands here

mysql mydatabase <<SQL_ENTRY_TAG_1
SELECT * 
  FROM mytable 
  WHERE somecondition='somevalue';
SQL_ENTRY_TAG_1

# execute other bash scripting commands here

mysql mydatabase <<SQL_ENTRY_TAG_2
SELECT *
  FROM myothertable
  WHERE someothercondition='someothervalue';
SQL_ENTRY_TAG_2
    
por 30.07.2011 / 18:10
3

Cada banco de dados tem uma ferramenta de cliente de linha de comando

Para o MySQL, veja man mysql

comand para adicionar no cron algo assim

cat /dir/query.sql|mysql database -u user -ppass >result

Para o PHP, você pode usar o arquivo IO para ler a consulta, depois disso, use a variável de string em vez da consulta em suas solicitações.

    
por 26.07.2011 / 02:51

Tags