Script Cron não está funcionando

0

Estou tentando executar um cron job que executa um script para imprimir uma mensagem em um terminal a cada minuto.

O script é realmente básico apenas para testar a ideia:

#!/bin/bash
echo "Hello World"

Isto é o que eu tenho no meu crontab:

* * * * * /etc/cron.hourly/script1.sh

Eu verifiquei se o script tem a permissão correta (755), então não entendi porque não está funcionando. O que estou fazendo errado?

    
por Daniel 10.10.2017 / 22:33

1 resposta

1

tarefas cron não estão associadas a nenhum terminal. A saída é descartada ou possivelmente enviada para o usuário (se estiver configurada).

Melhor para redirecionar o trabalho para um arquivo e, em seguida, abrir um terminal para ler o arquivo conforme está escrito:

#!/bin/bash
echo "Hello World">/home/myname/script1.sh.out 2>&1

que enviará a saída e os erros para um arquivo. Melhor seria enviar toda a saída do script para um arquivo, se houver vários comandos, como em:

#!/bin/bash
exec >/home/myname/script1.sh.out 2>&1 
echo "Hello World"

ou faça isso no crontab como em:

* * * * * /etc/cron.hourly/script1.sh>/home/myname/script1.sh.out 2>&1 

De um terminal, você pode executar "tail" para exibir a saída quando ela ocorrer:

tail -f /home/myname/script1.sh.out
    
por jpezz 10.10.2017 / 22:51