Cron envía la salida a un anuncio publicitario. Si desea ver la salida en una terminal, puede iniciar sesión en un archivo y usar tail -f para ver la salida en la terminal en la que desea ver la salida
Iniciar sesión en un archivo
- La respuesta más simple es iniciar sesión directamente en un archivo con una entrada crontab como:
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
Formas alternativas de iniciar sesión:
- Si su programa es un script en el que se puede escribir, puede modificarlo para redirigir la salida a un archivo de registro.
echo output > log.txt
, o puede usar una secuencia de comandos de contenedor que se describe a continuación.
- Si su programa es binario o no se puede escribir de otro modo, debe escribir un script de contenedor para capturar la salida a un archivo.
Programa de ejemplo y script de contenedor:
$ 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
Ejemplo de ejecución 1:
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
Ejemplo de ejecución 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 salida en terminal:
Ahora que su registro a cabo tanto estándar y el error estándar a un archivo, en cualquier terminal, puede ejecutar tail -f
en uno o ambos archivos como tail -f log.txt
o tail -f log.txt error.txt
para que la cola velará o más bien seguir el archivo (s) de modificación. cola man-page
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
Archivos de registro añadidos después:
Si log.txt o error.txt se agregan posteriormente desde su programa o desde otro terminal como $ echo "more output" >> log.txt
, la salida se ve en el terminal en ejecución$ tail -f log.txt error.txt
==> log.txt <==
more output
Además, $ echo code red >> error.txt
resulta en:
==> error.txt <==
code red