링크 ux 로그 절단 logrotate
logrotate 는 로그 파일 을 자동 으로 차단 하거나 압축 하거나 삭제 할 수 있 는 유용 한 도구 입 니 다.예 를 들 어 logrotate 를 설정 하여/var/log/foo 로그 파일 을 30 일 마다 돌아 가면 서 6 개 월 이 넘 는 로 그 를 삭제 할 수 있 습 니 다.설정 이 끝 난 후, logrotate 의 운영 은 완전히 자동화 되 었 으 며, 더 이상 관여 할 필요 가 없습니다.또한, 오래된 로 그 는 이메일 로 보 낼 수 있 지만, 이 옵션 은 본 튜 토리 얼 의 토론 범 위 를 초과 합 니 다.
주류 Linux 발행 판 에는 기본적으로 logrotate 패키지 가 설치 되 어 있 습 니 다. 어떤 이유 로 logrotate 가 나타 나 지 않 았 다 면 apt - get 이나 yum 명령 으로 설치 할 수 있 습 니 다.
Debian 이나 Ubuntu 에서:
- # apt-get install logrotate cron
Fedora, CentOS 또는 RHEL 에서:
- # yum install logrotate crontabs
logrotate 의 설정 파일 은/etc/logrotate. conf 로 수정 할 필요 가 없습니다.로그 파일 의 순환 은 독립 된 설정 파일 에 설정 되 어 있 습 니 다./etc/logrotate. d/디 렉 터 리 에 놓 여 있 습 니 다.
예시 1
첫 번 째 사례 에서 10MB 로그 파일/var/log/log - file 을 만 들 것 입 니 다.로그 파일 을 관리 하기 위해 logrotate 를 사용 하 는 방법 을 보 여 줍 니 다.
로그 파일 을 만 드 는 것 부터 시작 해서 10MB 의 무 작위 비트 스 트림 데 이 터 를 입력 합 니 다.
- # touch /var/log/log-file
- # head -c 10M < /dev/urandom > /var/log/log-file
현재 로그 파일 이 준비 되 어 있 기 때문에 로그 파일 을 따라 로그 rotate 를 설정 할 것 입 니 다.이 파일 에 프로필 을 만 듭 니 다.
- # vim /etc/logrotate.d/log-file
- /var/log/log-file {
- monthly
- rotate 5
- compress
- delaycompress
- missingok
- notifempty
- create 644 root root
- postrotate
- /usr/bin/killall -HUP rsyslogd
- endscript
- }
여기:
monthly: 로그 파일 은 매달 돌아 갑 니 다.다른 사용 가능 한 값 은 'daily', 'weekly' 또는 'yearly' 입 니 다
rotate 5: 한 번 에 압축 파일 로그 5 개 를 저장 합 니 다.여섯 번 째 압축 파일 에 대해 서 는 가장 오래된 압축 파일 이 삭 제 됩 니 다
copress: 순환 작업 이 완 료 된 후에 이미 순환 한 압축 파일 은 gzip 로 압축 합 니 다
delaycopress: 항상 copress 옵션 과 함께 사용 합 니 다. delaycopress 옵션 은 logrotate 에 게 최근 압축 파일 을 압축 하지 말 라 고 지시 합 니 다. 압축 은 다음 라운드 에서 주기 적 으로 진 행 됩 니 다.이것 은 당신 이나 모든 소프트웨어 가 최신 압축 파일 을 읽 어야 할 때 유용 합 니 다
missingok: 로그 가 돌아 가 는 동안 '파일 을 찾 을 수 없습니다' 와 같은 오 류 는 무 시 됩 니 다
notifempty: 로그 파일 이 비어 있 으 면 순환 이 진행 되 지 않 습 니 다
create 644 root: 지정 한 권한 으로 새로운 로그 파일 을 만 들 고 logrotate 도 원본 로그 파일 의 이름 을 바 꿉 니 다
post rotate/endscript: 모든 다른 명령 이 완료 되면 post rotate 와 endscript 에서 지정 한 명령 이 실 행 됩 니 다.이 경우 rsyslogd 프로 세 스 는 즉시 설정 을 다시 읽 고 계속 실 행 됩 니 다
위의 템 플 릿 은 통용 되 고 설정 파 라미 터 는 당신 의 요구 에 따라 조정 되 며 모든 파라미터 가 필요 한 것 은 아 닙 니 다.
샘플 2
이 예 에서 우 리 는 로그 파일 을 한 번 에 따라 가 려 고 하지만 로그 파일 크기 는 50MB 로 늘 릴 수 있 습 니 다.
- # vim /etc/logrotate.d/log-file
- /var/log/log-file {
- size=50M
- rotate 5
- create 644 root root
- postrotate
- /usr/bin/killall -HUP rsyslogd
- endscript
- }
샘플 3
오래된 로그 파일 을 만 든 날짜 로 이름 을 짓 고 싶 습 니 다. dateext 상 숙 을 추가 하여 구현 할 수 있 습 니 다.
- # vim /etc/logrotate.d/log-file
- /var/log/log-file {
- monthly
- rotate 5
- dateext
- create 644 root root
- postrotate
- /usr/bin/killall -HUP rsyslogd
- endscript
- }
압축 파일 이름 에 날짜 정 보 를 포함 하도록 합 니 다.
장애물 을 제거 하 다
로그 rotate 가 설정 한 장벽 알림 을 제공 합 니 다.
1. logrotate 를 수 동 으로 실행
logrotate 는 명령 행 에서 언제든지 수 동 으로 호출 할 수 있 습 니 다.
/etc/lograte. d/로 설정 한 모든 로그 호출 logrotate:
- # logrotate /etc/logrotate.conf
특정한 설정 을 위해 logrotate 를 호출 하려 면:
- # logrotate /etc/logrotate.d/log-file
2. 연습
장벽 을 제거 하 는 과정 에서 가장 좋 은 선택 은 '- d' 옵션 을 사용 하여 logrotate 를 예행연습 방식 으로 실행 하 는 것 이다.인증 을 하려 면 실제 로그 파일 을 따라 가지 않 고 연습 로그 바퀴 를 따라 출력 을 표시 할 수 있 습 니 다.
- # logrotate -d /etc/logrotate.d/log-file
우리 가 위의 출력 결 과 를 통 해 알 수 있 듯 이 logrotate 는 이 순환 이 불필요 하 다 고 판단 합 니 다.만약 파일 의 시간 이 하루 보다 작다 면, 이것 은 발생 할 것 이다.
3. 강제 순환
순환 조건 이 만족 하지 않 더 라 도 '- f' 옵션 을 사용 하여 logrotate 순환 로그 파일 을 강제 할 수 있 습 니 다. '- v' 매개 변 수 는 상세 한 출력 을 제공 합 니 다.
- # logrotate -vf /etc/logrotate.d/log-file
- reading config file /etc/logrotate.d/log-file
- reading config info for /var/log/log-file
-
- Handling 1 logs
-
- rotating pattern: /var/log/log-file forced from command line (5 rotations)
- empty log files are rotated, old logs are removed
- considering log /var/log/log-file
- log needs rotating
- rotating log /var/log/log-file, log->rotateCount is 5
- dateext suffix '-20140916'
- glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
- renaming /var/log/log-file.5.gz to /var/log/log-file.6.gz (rotatecount 5, logstart 1, i 5),
- old log /var/log/log-file.5.gz does not exist
- renaming /var/log/log-file.4.gz to /var/log/log-file.5.gz (rotatecount 5, logstart 1, i 4),
- old log /var/log/log-file.4.gz does not exist
- . . .
- renaming /var/log/log-file.0.gz to /var/log/log-file.1.gz (rotatecount 5, logstart 1, i 0),
- old log /var/log/log-file.0.gz does not exist
- log /var/log/log-file.6.gz doesn't exist -- won't try to dispose of it
- renaming /var/log/log-file to /var/log/log-file.1
- creating new /var/log/log-file mode = 0644 uid = 0 gid = 0
- running postrotate script
- compressing log with: /bin/gzip
4. Logrotate 의 기록 로그
logrotate 자체 로 그 는 보통/var/lib/logrotate/status 디 렉 터 리 에 저 장 됩 니 다.만약 배 리 케 이 드 목적 에 있다 면, 우 리 는 logrotate 를 지정 한 파일 에 기록 하고 싶 습 니 다. 우 리 는 아래 와 같이 명령 행 에서 지정 할 수 있 습 니 다.
- # logrotate -vf –s /var/log/logrotate-status /etc/logrotate.d/log-file
5. Logrotate 정시 작업
logrotate 에 필요 한 cron 작업 은 설치 할 때 자동 으로 생 성 되 어야 합 니 다. 저 는 cron 파일 의 내용 을 붙 여 참고 하도록 하 겠 습 니 다.
- # cat /etc/cron.daily/logrotate
- #!/bin/sh
-
- # Clean non existent log file entries from status file
- cd /var/lib/logrotate
- test -e status || touch status
- head -1 status > status.clean
- sed 's/"//g' status | while read logfile date
- do
- [ -e "$logfile" ] && echo "\"$logfile\" $date"
- done >> status.clean
- mv status.clean status
-
- test -x /usr/sbin/logrotate || exit 0
- /usr/sbin/logrotate /etc/logrotate.conf
작은 매듭 을 짓 자 면, logrotate 도 구 는 방대 한 로그 파일 로 인해 저장 공간 이 소모 되 는 것 을 방지 하 는 데 매우 유용 하 다.설정 이 완료 되면 프로 세 스 가 자동 으로 진행 되 며, 인위적인 관여 없 이 장시간 실 행 될 수 있 습 니 다.본 튜 토리 얼 은 logrotate 를 사용 하 는 몇 가지 기본 적 인 사례 에 중심 을 두 고 있 으 며, 당신 도 그것 을 맞 춰 서 당신 의 수 요 를 만족 시 킬 수 있 습 니 다.
본문 이 너 에 게 도움 이 되 기 를 바란다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.