problema ao usar uma tarefa agendada para executar um script de shell (ubuntu linux)

1

Estou tentando criar uma tarefa agendada que execute um script de shell de forma recorrente e estou tendo problemas para fazer com que funcione. Eu dou o seguinte comando para executar cada minuto:

~/Desktop/foo/my_script

Mas isso nunca acontece. (Este comando executa o shell script através do terminal sem problemas.) Alguma idéia do que estou fazendo errado? Obrigado!

Nota: aqui está o meu script de shell:

#!/bin/bash
sleep 15
date >> output.txt
{ time ./foo > /dev/null ; } 2>> output.txt

E aqui está a linha do cron:

* * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3
    
por John Kube 06.04.2010 / 23:28

2 respostas

0

O escalonador provavelmente não sabe como expandir ~ , dando-lhe um caminho absoluto.

EDIT, após a solução encontrada:

Outra idéia que eu tive foi que talvez o cron estivesse ignorando a linha devido a todos *, mas eu não consegui replicar isso. Eu achei que é man page é um pouco inútil, mas a página da Wikipedia no cron é um pouco útil. Eu sugeriria usar a linha:

*/1 * * * * /home/joe/Desktop/foo/my_script # JOB_ID_3

como isso seria executado em */1 (ou seja, a cada minuto que divide por 1) se continuasse a falhar.

    
por 06.04.2010 / 23:35
0

Eu descobri o problema. Cron executa as tarefas no diretório inicial, então é onde meu arquivo de saída está aparecendo. É por isso que achei que não estava funcionando.

    
por 07.04.2010 / 00:37