nohup 로그 재 설정, 로그 비우 기

1330 단어 shell각본
Liux 시스템 에 서 는 nohup 을 사용 하여 명령 을 수행 할 수 있 습 니 다. nohup 은 콘 솔 처럼 프로그램 이 출력 한 로그 정 보 를 완전 하 게 표시 할 수 있 습 니 다.
간단 한 용법:
nohup /test.sh > /test.log  2>&1 &

이렇게 하면 test. sh 가 실행 하 는 모든 로그 정 보 는 test. log 에 기 록 됩 니 다. 실제 사용 중 test. log 는 프로그램 이 실행 되 는 시간 과 로 그 량 에 따라 test. log 가 커지 고 관리 하기 어 려 울 수 있 습 니 다. 그래서 로 그 를 비 우 는 간단 하고 폭력 적 인 방법 은 프로그램 을 다시 시작 하 는 것 입 니 다. 그러나 프로그램 을 다시 시작 하지 않 은 상태 에서 파일 내용 을 비 우 는 것 입 니 다.로그 파일 을 다시 기록 합 니 다.
Liux 파일 을 비 우 는 방법 은 매우 많 습 니 다. 여기 서 예 를 들 어 사용 합 니 다.
 cp /dev/null  /test.log

이렇게 하면 test. log 는 비 워 집 니 다. 그러나 실제 사용 에서 test. log 는 곧 원래 크기 로 변 합 니 다. 예 를 들 어 test. log 의 원래 크기 는 10KB 로 명령 을 실행 한 후 크기 는 0KB 입 니 다. 프로그램 이 새 로 그 를 실행 할 때 test. log 크기 는 바로 10KB + 로 변 합 니 다. 그러나 내용 은 새 로그 에 만 있 고 비 워 진 내용 이 없습니다.
자료 와 테스트 를 통 해 문 제 를 찾 았 습 니 다 >/test. log 는 원본 파일 의 내용 을 덮어 씁 니 다. 비우 기 명령 을 실행 하기 때문에 원본 프로 세 스 는 원래 로그 의 정 보 를 가지 고 있 습 니 다. 프로 세 스 가 해당 파일 의 핸들 을 가 져 왔 기 때 문 입 니 다.새 로그 가 있 을 때 해당 프로 세 스 가 내용 을 직접 덮어 씁 니 다. 데이터 가 일치 하지 않 습 니 다.
해결 방법 은 추가 로그 파일 을 사용 하여 실행 명령 을 다음 과 같이 수정 합 니 다.
nohup /test.sh >> /test.log  2>&1 &

이렇게 로 그 를 실행 하 는 것 은 추가 적 인 방식 으로 파일 을 기록 하 는 것 입 니 다. 로 그 를 비 울 때 비 우 는 명령 을 실행 한 다음 에 새 로 그 는 다시 덮어 쓰 는 것 이 아니 라 추가 로 들 어 갑 니 다.

좋은 웹페이지 즐겨찾기