Cron은 메일러에게 출력을 보냅니다. 터미널에서 출력을 보려면 파일에 로그인하고 tail -f를 사용하여 출력을 보려는 터미널에서 출력을 볼 수 있습니다
파일에 기록
- 가장 간단한 대답은 다음과 같은 crontab 항목을 사용하여 파일에 직접 기록하는 것입니다.
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
대체 방법 :
- 프로그램이 쓸 수있는 스크립 인 경우 출력을 로그 파일로 리디렉션하도록 프로그램을 수정할 수 있습니다.
echo output > log.txt
또는 아래 설명 된 래퍼 스크립트를 사용할 수 있습니다 .
- 프로그램이 바이너리이거나 쓰기 불가능한 경우, 출력을 파일로 캡처하기 위해 랩퍼 스크립트를 작성해야 합니다.
예제 프로그램 및 랩퍼 스크립트 :
$ 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
예제 실행 1 :
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
예제 실행 2 :
$ ./wrapper.sh "A B C" D E ; cat error.txt log.txt
sample error
arg 1=A B C arg2=D arg3=E
터미널에서 출력보기 :
이제 어떤 터미널에있는 파일을 모두 표준 출력 및 표준 오류, 로그인, 당신은 실행할 수 있습니다 tail -f
처럼 하나 개 또는 두 파일에 tail -f log.txt
또는 tail -f log.txt error.txt
꼬리를 시청하거나 오히려 개정안에 대한 파일 (들)을 따를 것이다 너무. 꼬리 맨 페이지
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
이후에 추가 된 로깅 파일 :
log.txt 또는 error.txt가 나중에 프로그램이나와 같은 다른 터미널에서 추가 $ echo "more output" >> log.txt
되면 출력은 터미널에서 실행됩니다.$ tail -f log.txt error.txt
==> log.txt <==
more output
또한 $ echo code red >> error.txt
결과는 다음과 같습니다.
==> error.txt <==
code red