명령줄에서 스크립트를 실행할 때 MySQL의 로그를 파일로 가져오려고 합니다.
예를 들어
mysql -v mydb u- alex -p**** < please_run_me.sql > /tmp/file.log
이제 작업은 완료되었지만 file.log는 비어 있습니다. 나는 -v가 내가 원하는 출력을 제공할 것이라고 생각한다. 내가 어떻게 하는지 알고 싶어
- MySQL의 출력을 file.log로 가져옵니다.
- 또는 작업이 실패한 경우에만 file.log에 내용을 입력하는 것이 더 좋습니다(그러나 명령줄에서 테스트할 때 무슨 일이 일어나고 있는지 알고 싶기 때문에 둘 다 편리합니다).
- 오류 및/또는 기타 콘텐츠를 자신에게 이메일로 보내세요.
(결국 이는 cron 작업으로 종료됩니다).
답변1
사용 시 stderr
로그 출력을 얻으려면 리디렉션이 필요합니다 -v
.
다음과 같은 작업을 수행해야 합니다.
mysql -v mydb u- alex -p**** < please_run_me.sql 2>&1 > /tmp/file.log
로 리디렉션 2>&1
한 다음 으로 리디렉션됩니다 stderr
. 이것이 재정의된다는 점을 기억하세요. 추가하고 싶다면 이것을 사용하세요.stdout
/tmp/file.log
>
/tmp/file.log
>>