Cron envia a saída para uma mala direta. Se você deseja ver a saída em um terminal, pode efetuar logon em um arquivo e usar tail -f para visualizar a saída no terminal em que deseja ver a saída
Faça logon em um arquivo
- A resposta mais simples é registrar diretamente em um arquivo com uma entrada crontab como:
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
Formas alternativas de log:
- Se o seu programa for um script que possa ser gravado, você poderá modificá-lo para redirecionar a saída para um arquivo de log.
echo output > log.txt
, ou você pode usar um script de wrapper descrito abaixo.
- Se o seu programa é binário ou não pode ser gravado, você deve escrever um script de wrapper para capturar a saída em um arquivo.
Exemplo de programa e script de wrapper:
$ cat program.sh wrapper.sh
#!/bin/bash
# sample program
echo "arg 1=$1 arg2=$2 arg3=$3"
echo "sample error" >&2
#!/bin/bash
# sample wrapper
exec ./program.sh "$@" >log.txt 2> error.txt
Exemplo de execução 1:
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
Exemplo de execução 2:
$ ./wrapper.sh "A B C" D E ; cat error.txt log.txt
sample error
arg 1=A B C arg2=D arg3=E
Ver saída no terminal:
Agora que o seu login ambos fora padrão e erro padrão para um arquivo, em qualquer terminal, você pode executar tail -f
em um ou ambos os arquivos como tail -f log.txt
ou tail -f log.txt error.txt
para que a cauda vai assistir ou melhor seguir o arquivo (s) de alteração. página de manual da cauda
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
Arquivos de log anexados posteriormente:
Se log.txt ou error.txt forem anexados posteriormente a partir do seu programa ou de outro terminal como $ echo "more output" >> log.txt
, a saída será vista no terminal em execução$ tail -f log.txt error.txt
==> log.txt <==
more output
Além disso, $ echo code red >> error.txt
resulta em:
==> error.txt <==
code red