cronjob에 대한 질문이 있습니다. cronjob을 사용하여 명령을 실행하면 출력 파일에 저장하는 대신 터미널에 출력을 표시할 수 있습니까?
예를 들어
*/2 * * * root /bin/ping xx.xx.xx.xx
출력이 터미널에 표시되어야 합니다. 시도해봤는데 터미널에 표시되지 않습니다. cronjob에서 무엇이든 변경해야 합니다.
미리 감사드립니다. Vinos
답변1
당신은 이것을 할 수 없습니다.
모든 cron
작업은 터미널 연결 없이 비대화형 셸에서 실행됩니다. 따라서 /dev/tty
에서는 유사한 개념을 사용할 수 없습니다 cron
.
답변2
더러운 접근 방식은 프로그램의 출력을 기존 터미널의 pts 파일로 리디렉션하는 것일 수 있습니다.
pts 파일을 확인하려면 tty 명령을 입력하십시오.
~$ tty
/dev/pts/19
그러면 crontab은 다음과 같습니다:
* * * * * /usr/local/scripts/script.sh > /dev/pts/19
답변3
다음과 같이 crond에 명령을 입력할 수 있습니다.
*/2 * * * root /bin/ping xx.xx.xx.xx | tee ~/my_output_from_crond.log
터미널 유형:
touch ~/my_output_from_crond.log
tail -f ~/my_output_from_crond.log
이제 crond 시작 명령을 기다리십시오.