Como definir o caminho para um comando cron

0

Eu tinha programado um cronjob para reiniciar um serviço com um aparente vazamento de memória semanalmente e recebi um email dizendo que o comando killproc não foi encontrado.

Isso é em / sbin / killproc e não quero modificar o script de serviço, embora eu prefira que ele use caminhos absolutos, então estou optando por usar minha correção por meio do cron.

Então, eu não quero definir o PATH no topo do arquivo crontab conforme a página man aparentemente diz (de acordo com outros posts que vi na internet, não na minha página de manual). Como eu posso estruturar minha linha crontab para definir uma variável de caminho (e não o PATH do squash root) apenas para este script?

tl; dr;

Isso é o que eu quero fazer

0 0 * * 0 /etc/init.d/tic_minus restart

isto é o que eu quero evitar

To: Stupid

From: All your customers

Stopping tic_minus: /etc/init.d/tic_minus: line 43: killproc: command not found

Starting tic_minus:

    
por Peter Turner 18.01.2016 / 15:13

2 respostas

1

Use um sub-shell para limitar o escopo:

0 0 * * 0 (export PATH=$PATH:/sbin; /etc/init.d/tic_minus restart)
    
por 18.01.2016 / 15:17
1

Nunca confie em cron env -version = > fonte env setup antes do comando.

0 0 * * 0   (. /usr/xx/myenv ; /some/cmd ) >> /usr/xx/mylog.log 2>&1

myenv inclui toda a configuração que você precisa. PATH, etc. Use a exportação para variáveis.

    
por 18.01.2016 / 17:39

Tags