본문 바로가기
WORK

땅꼬마의 log 삭제 crontab 설정!

by 땅꼬마개발자 2024. 3. 19.

로그관리! 너무 중요하지만 마냥 쌓아둘 수 없으니 2주치의 로그만 두고 있다.

그리 귀찮지 않아서 처음엔 하나하나 수동으로 삭제했지만(미련하게) 크론탭 설정을 두어 2주치(14일)만 남기고 로그를 삭제하고 있다.

 

간단한 명령어로 실행이 가능하다!

 

0 0 * * * find /work/logs/ -name 'nohup.out_*' -mtime +14 -exec rm {} \;

 

1. crontab

 : 리눅스에서 스케줄링을 관리하는 프로그램

 

crontab -l  : 예약된 작업 리스트 출력

 

crontab -e : 예약된 작업 리스트 수정

 

crontab -r :예약된 작업 리스트 목록 삭제

 

숫자는 왼쪽부터

분 시 일 월 요일 나타낸다

 

첫번째 필드 : 분 (0~59)

두 번째 필드 : 시 (0~23)

세 번째 필드 : 일 (0~31)

네 번째 필드 : 월 (1~12)

다섯 번째 필드 : 요일 (0~7)

 

 

2. find 명령어

 

find [옵션] [경로] [표현식] 

 

옵션

-P : 심벌릭 링크 자체 정보 사용
-L : 심벌릭 링크에 연결된 파일 정보 사용\
-H : 심벌릭 링크를 따라가지 않으나 Command Lince Argument를 처리할 땐 예외
-D : 디버그 메시지 출력

 

명령어

-name [문자열] : 제목에 문자나 문자열을 포함하고 있는 파일을 검색
-empty : 빈 디렉터리 혹은 크기가 0인 파일을 검색
-delete : 검색된 파일 혹은 디렉터리를 삭제
-perm [권한] : 해당 권한을 가진 파일을 검색
-exec [명령] : 검색된 파일에 지정된 명령 실행
-path [문자열] : 해당하는 문자열 패턴에 해당하는 경로에서 검색
-print : 검색 결과를 출력하며 검색 항목을 줄바꿈으로 구분
-type [파일 타입] : 해당하는 파일 타입의 파일을 검색
     b : 블록 특수 파일 (block device)
     c : 캐릭터 특수 파일 (character deice)
     d : 디렉터리 (directory)
     f : 일반 파일(file)
     l : 심벌릭 링크 (link)
     p : 파이프 (pipe)
     s : 소켓 (socket)
-mtime : [+N/N/-N] : 수정(Modify) 시간이 [N+1일보다 과거인/ N+1일에서 N 일 사이인/ N 일 이내인] 파일 검색
-ctime : 소유권이나 권한 관련 변경(Change) 시간이 [N+1일보다 과거인/ N+1일에서 N 일 사이인/ N 일 이내인] 파일 검색
-atime : 접근(Access) 시간이 [N+1일보다 과거인/ N+1일에서 N 일 사이인/ N 일 이내인] 파일 검색

 

따라서 위 명령어는

find /work/logs/ -name 'nohup.out_*' -mtime +14 -exec rm {} \;

 

/work/logs/  경로에서 nohup.out_ 시작되는 파일명, 마지막 수정시간이 14일 이전 파일을 찾아 삭제하도록 하는 명령어이다.