본문 바로가기
프로그래밍/linux

리눅스 crontab으로 기간이 지난 로그 삭제

by W.C. 2016. 5. 2.
728x90

프로그램을 운영하다가 보면 로그를 남기는 것은 필수다.


허나! 이 로그들로 인해 프로세스가 멈출 수도 있다.


쌓여가는 로그들을 일일이 손으로 제거 할 수도 없고... 쩝...


그럴때 흔히 사용하는 것이 crontab 이다.


crontab은 일종의 스케줄러라고 보면 된다.


사용 방법은 간단하다.


원하는 동작 방식과 실행 스크립트를 등록하면 된다!


<기본 적인 구조>


*    *    *    *    *    수행할 명령어

분(0-59)

시(0-23)

일(1-31)

월(1-12)

요일(0-6)(0=일요일)


이런 구조다



예를 들면 

*    *    *    *    *    /home/run.sh

==> 1분 마다 /home/run.sh 수행


15,45    *    *    *    *    /home/run.sh

==> 매시 15,45분에 수행


0    2    *    *    *    /home/run.sh

==> 매일 2시에 수행


30    */6    *    *    *    /home/run.sh

==> 매 6시간 마다 수행 30분에 시작


http://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B0%98%EB%B3%B5_%EC%98%88%EC%95%BD%EC%9E%91%EC%97%85_cron,_crond,_crontab


여기 사이트를 가면 자세하게 설명되어 있다!


<기본 명령어>

>crontab -l 

==> 현재 사용자의 등록된 작업 리스트 보기


>crontab -l -u user

==> user가 등록한 작업 리스트 보기


>crontabl -r

==> 현재 사용자의 모든 작업 삭제


>crontab -e

==> crontabl 작업 등록


이제 날짜가 지나간 로그를 지우는 스크립트를 만들어야 한다.


#!./bin/bash

find /var/log/ -mtime +7 -name log\* -exec rm {} \;


위와 같이 만들면 7일이 지난 로그 파일을 삭제 할 수 있다.

파일의 생성 시간을 보고 가져 온다


파일이 완성 되었으면


>crontab -e

를 친다


아무런 작업이 없었다면 그냥 공백이 나올 것이다.




아래와 같이 원하는 구동 방식을 지정하고 수행할 스크립트 파일 경로를 적으면 끝!


그러면 원하는 데로 파일이 삭제 된다!









'프로그래밍 > linux' 카테고리의 다른 글

alternative 를 이용한 기본 java version 변경  (0) 2018.02.13
Kill 명령어 사용  (0) 2018.02.08
서버에 열려 있는 PORT 확인  (0) 2017.12.20
SSH SESSION 관리  (0) 2017.12.20
ulimit 설정 관련  (0) 2016.05.13