Como fazer o Cron rodar

3

Estou tentando configurar cron para executar o comando mysqlauditgrep (é o pacote MySQL 5.6 Utilities). O comando mysqlauditgrep está no bash.

O comando que estou procurando executar é:

mysqlauditgrep --format=GRID /var/lib/mysql/audit.log

Este comando fará com que o meu log de auditoria que foi criado pelo mysql seja visualizado em um formato Grid. Não é executado no shell mysql.

Então eu instalei o Cron e configurei o crontab definindo isto:

00 11 * * fri root usr/bin/mysqlauditgrep mysqlauditgrep --format=GRID /var/lib/mysql/audit.log

Eu executei / sbin / service crond start depois de fazer o nanoed no arquivo crontab.

Não consigo ver se a ação ocorreu.

    
por lkalti 16.07.2014 / 02:02

2 respostas

3

Sua linha crontab deve ser assim:

00 11 * * fri /usr/bin/mysqlauditgrep --format=GRID /var/lib/mysql/audit.log

Digite man 5 crontab para verificar a sintaxe do arquivo crontab

    
por 16.07.2014 / 02:11
1

Sua linha na entrada do cron inclui root e isso não é necessário, porque quando você invocar crontab -e , ela começará a editar cron como usuário atual, por exemplo, root . Todas as entradas do cron estão localizadas em /var/spool/cron/<user> , para que você possa verificar as entradas. Também em /var/log/cron você pode verificar o cron log com mensagens específicas para tarefas agendadas. Então lá você pode verificar se a ação é realizada pelo cron, é claro, se o seu script está ok, também para perceber que o melhor caminho para as entradas do cron é redirecioná-las para >/dev/null apenas para evitar spam se o MTA estiver rodando também A última é adicionar o login em seu próprio script para que você possa ter 100% de certeza de que tudo está OK.

Por padrão, o cron usa sh não bash , então em cron &> é um atalho para redirecionar stderr e stdout no bash, mas isso não acontece em sh . Solução para isto é adicionar env varibale em crontab SHELL=/bin/bash ou na frente do script este bash -c também na linha crontab, crontab invoca outro shell que o seu atual, por isso o seu pedido para ver no mesmo tempo não é possível, um das soluções poderia ser agente de correio se você tiver.

    
por 16.07.2014 / 22:51