Cron에서 실행되는 PHP 스크립트가 있습니다. 출력을 파일에 저장하고 싶지만 셸 출력도 다른 파일에 저장하고 싶습니다. 이상적으로는 한 줄에 표시하고 싶습니다. 그래서 다음을 시도했습니다.
script "/folder/log/file.errors."`date +"%Y-%m-%d.%H-%M-%S"`".txt" && /usr/bin/php /folder/file.php > "/folder/log/file.php."`date +"%Y-%m-%d.%H-%M-%S"`".txt"
그러나 첫 번째 명령(이전 &&
)만 실행됩니다. 마찬가지로, 대신 ;
에 &&
.
이것을 두 개의 개별 명령으로 실행하면 제대로 작동합니다.
root:~# script "/folder/log/file.errors."`date +"%Y-%m-%d.%H-%M-%S"`".txt"
root:~# /usr/bin/php /folder/file.php > "/folder/log/file.php."`date +"%Y-%m-%d.%H-%M-%S"`".txt"
이 두 명령을 하나의 명령/줄로 어떻게 연결할 수 있습니까?
exit
또한 Cron을 통해 실행할 때 위 코드 다음에 명령을 실행 해야 합니까 ?스크립트파일에 올바르게 저장하시겠습니까?
답변1
terdon의 요청에 따라 질문에 "답변"으로 표시될 수 있도록 이 댓글을 답변으로 게시합니다.
로깅 에 의존하는 대신
script
, 특히 이것이 cron 작업으로 끝나는 경우 PHP 코드에 지정된 하나 이상의 파일에 출력 및 오류 메시지를 보내는 것을 고려하십시오. 이것을 cron에서 실행하면>/dev/null 2>&1
지시문과 같은 것으로 전송하지 않는 한 세션 로그가 생성됩니다 . 따라서 디버깅 도구로 cron 로그를 확인할 수 있습니다.