cronjob에서 명령을 실행하여 터미널에 출력을 표시하는 방법

cronjob에서 명령을 실행하여 터미널에 출력을 표시하는 방법

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 시작 명령을 기다리십시오.

관련 정보