Cron não está executando script [duplicado]

1

Eu tenho um script que funciona quando chamado:

/usr/local/bin/myscript #this works fine

As permissões para o arquivo são:

-rwxr-xr-x 1 root root 155 Jan 27 09:34 myscript

Eu adicionei uma linha ao / etc / crontab:

* * * * * root /usr/local/bin/myscript

Mas o cron não parece capaz de rodar isso.

O crontab tem a variável PATH definida:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

O script é um mysqldump para o diretório / var / tmp /:

#!/bin/bash

DAY='date +%y%m%d'
TIME='date +%k%M'
mysqldump test -u john -pxxxxxxx > /var/tmp/$DAY.$TIME.test.sql

Não consigo pensar no que está errado com isso, mas o script não está sendo executado.

Editar: / var / log / syslog mostra as seguintes entradas:

Jan 27 10:20:01 hector CRON[8286]: (root) CMD (/bin/bash /usr/local/bin/myscript)
Jan 27 10:20:01 hector CRON[8285]: (CRON) info (No MTA installed, discarding output)

Então, eu acho que está tentando executar o script, mas ele deve estar falhando em algum lugar porque eu não obtenho a mesma saída como se eu o executasse com /usr/local/bin/myscript .

    
por babbaggeii 27.01.2014 / 11:18

1 resposta

1

Eu acho (com a falta de informações de depuração) que esse é um problema de ambiente / caminho restrito, que parece que você tentou resolver parcialmente.

Atualize /usr/local/bin/myscript para incluir o uso de caminhos completos como:

#!/bin/bash

DAY='/bin/date +%y%m%d'
TIME='/bin/date +%k%M'
/usr/bin/mysqldump -u john -pxxxxxxx test > /var/tmp/$DAY.$TIME.test.sql

(Espero que o date caminho completo seja excessivo, mysqldump é o principal, veja: whereis mysqldump no seu sistema)

    
por 27.01.2014 / 17:16

Tags