ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 crontab으로 기간이 지난 로그 삭제
    프로그래밍/linux 2016. 5. 2. 23:01
    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

    를 친다


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




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


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









    728x90

    '프로그래밍 > 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
Designed by Tistory.