프로그램을 운영하다가 보면 로그를 남기는 것은 필수다.
허나! 이 로그들로 인해 프로세스가 멈출 수도 있다.
쌓여가는 로그들을 일일이 손으로 제거 할 수도 없고... 쩝...
그럴때 흔히 사용하는 것이 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분에 시작
여기 사이트를 가면 자세하게 설명되어 있다!
<기본 명령어>
>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 |