Script que usa a consulta MySQL para remover automaticamente a saída

1

Eu tenho essa consulta que gera atualizações anteriores a 7 dias de um banco de dados. Como eu faria um script que pega a instrução do MySQL e a coloca em um script para ser executado pelo cron.

echo "select name, reported_at from nodes where reported_at < curdate() -7;" |
mysql dashboard

Exemplo de saída:

name    reported_at
xadf.edu    2012-03-21 14:39:02
xadf.edu    2012-03-22 15:30:01
adsfsadf.edu    2012-03-14 14:40:02
ekdahlj.edu 2012-03-23 03:40:04
adfasdf.net 2012-03-21 14:42:02
eqrsdr.edu  2012-03-15 14:42:02
qwerwfva.edu    2012-03-13 14:42:03
qerqwer.edu 2012-03-23 14:40:01
adfasde.edu 2012-03-05 17:42:03
bsfdgs.edu  2012-03-23 15:20:01
adfadsf.edu 2012-03-23 14:43:01
    
por Jeff 30.03.2012 / 17:35

2 respostas

3

Você pode criar um arquivo ~ / path / to / myquery.sql :

select name, reported_at from nodes where reported_at < curdate() -7;

E para editar sua execução do crontab

crontab -e

E no seu crontab, adicione uma linha

* * * * * mysql dashboard < ~/path/to/myquery.sql > ~/path/to/query/output

Para editar a frequência com que esse comando é executado, você precisa editar os cinco * no início dessa linha. Para entender como fazer isso corretamente, você pode conferir esta página .

    
por 31.03.2012 / 22:16
1

Basta salvá-lo em um arquivo e redirecioná-lo para a ferramenta mysql no seu crontab.

* * * * * mysql ... < savedstatements.sql
    
por 31.03.2012 / 00:45

Tags