- 우분투(Ubuntu) log management


* 디스크 사용 용량 ( df )
df -h


//-----------------
* 디렉토리(폴더) 크기 (du)
sudo du -shc /var/log/*

    - 파일 크기순 정렬
sudo du -shc  /var/log/* | sort -n -r


//-----------------
* 파일 정보
    - 생성된 날짜는 알아낼수 없다
stat  temp.txt


//---------------------
* 파일 리스트 (ls)
    - 최근 파일 순 정렬(연도 보이게)
ls -lt --time-style=+%Y-%m-%d-%H:%M:%S /var/log


    - 파일 크기순 정렬
ls -lS

//----------------------
journal 로그 /var/log/journal
https://haker.tistory.com/52
    - 시스템 부팅 시부터 발생하는 모든 이벤트를 수집해서 바이너리 형태의 저널 데이터로 저장

    - 용량 확인
du -hs /var/log/journal


    - journal 로그 확인(보기)
sudo journalctl -r


    - 100일 이상된 자료 삭제
journalctl --vacuum-time=100d


    - 용량제한으로 삭제
journalctl --vacuum-size=2G

 

* journal 의 시스템 사용 용량 제한 설정

    - 자동으로 오래된 로그파일 부터 로테이션 삭제 된다

 

sudo nano /etc/systemd/journald.conf

SystemMaxUse=1000M



    - journal 새로 시작( systemd의 journald )

sudo systemctl restart systemd-journald

 


//-------------------------------
* 오래된 로그 파일 삭제

    - 90일 지난 파일 확인(리스트)
sudo find /var/log -mtime +90 -print


    - 90일 지난 파일 삭제
sudo find /var/log -mtime +90 -delete



//--------------------------------
* 로그 정리 자동 실행 작업 등록 (cron)

clear_log.sh 파일 작성
journalctl --vacuum-size=500M
find /var/log -mtime +100 -delete


    - cron 작업 수정
crontab -u root -e

# - 매일 02:00에 /root/clear_log.sh 를 수행 
0 2 * * * /root/clear_log.sh


    - cron 확인
crontab -u root -l

    - cron 실행 로그 실시간 확인
tail -F /var/log/syslog


반응형
Posted by codens