명령줄에서 MySQL 명령을 실행할 때 MySQL에서 파일로 로그 가져오기

명령줄에서 MySQL 명령을 실행할 때 MySQL에서 파일로 로그 가져오기

명령줄에서 스크립트를 실행할 때 MySQL의 로그를 파일로 가져오려고 합니다.

예를 들어

mysql -v mydb u- alex -p**** < please_run_me.sql > /tmp/file.log

이제 작업은 완료되었지만 file.log는 비어 있습니다. 나는 -v가 내가 원하는 출력을 제공할 것이라고 생각한다. 내가 어떻게 하는지 알고 싶어

  1. MySQL의 출력을 file.log로 가져옵니다.
  2. 또는 작업이 실패한 경우에만 file.log에 내용을 입력하는 것이 더 좋습니다(그러나 명령줄에서 테스트할 때 무슨 일이 일어나고 있는지 알고 싶기 때문에 둘 다 편리합니다).
  3. 오류 및/또는 기타 콘텐츠를 자신에게 이메일로 보내세요.

(결국 이는 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>>

관련 정보