[Linux] Crontab 명령어
1. 생성한 지 30일 이상 된 로그파일 지우기
명령어:
30 03 1 * * find /test/test -type f -mtime +30 -exec rm -f {} \;
30 03 1 * *
: 아래 명령을 매년 매달 1일 새벽 3시 30분에 수행
find /test/test -type f -mtime +30
: /test/test 경로의 파일 타입 중 생성된 지 30일 이상 된 파일 탐색
-exec rm -f {} \;
: find의 결과에 나온 파일 타입을 삭제
find ... -exec ... {}
: find 의 결과에 특정 명령을 수행 ( {} 에 결과값이 들어감 )-type f
: 디렉토리는 제외하고 파일 타입만 검색하는 옵션-type d
: 파일 타입을 제외하고 디렉토리를 검색하는 옵션-mtime +30
: 서버 시간 기준으로부터 생성된 지 30*24 시간 이상된 파일/디렉토리 검색하는 옵션-ctime
: 생성된 날짜 시간 기록을 찾는 옵션-atime
: 읽히거나 실행됐을 때의 기록을 찾는 옵션- 날짜 기준
+
를-
로 바꾸면 현재 날짜 기준 수정된 지 X일 이내의 파일을 검색한다.
2. Crontab 명령어 종류
1) 크론탭 작업 내용 확인
crontab -l
2) 크론탭 편집
crontab -e
3) 크론탭 주기
분/시/일/월/요일 {실행 명령}
- 분 : 0-59
- 시 : 0-23
- 일 : 0-31
- 월 : 0-12
- 요일 : 0-6 (일-토 : 0과 7은 일요일이며 1부터 월요일)
4) 크론탭 시작
service cron start
5) 크론탭 중지
service cron stop
6) 작동확인
service cron status
7) 주의사항
설정 변경 후 항상 cron 서비스 재시작
service cron restart
또는 service crond restart
3. 사용방법 및 예제
크론탭 편집
crontab -e
> 파일 안 작성* * * * * {실행 명령}
# 매분 test.sh 실행
* * * * * /home/script/test.sh
# 특정 시간 실행 (매주 금요일 오전 5시 45분에 test.sh 를 실행)
45 5 * * 5 /home/script/test.sh
# 반복 실행 (매일 매시간 0분, 20분, 40분에 test.sh 를 실행)
0,20,40 * * * * /home/script/test.sh
# 범위 실행 (매일 1시 0분부터 30분까지 매분 tesh.sh 를 실행)
0-30 1 * * * /home/script/test.sh
# 간격 실행 (매 10분마다 test.sh 를 실행)
*/10 * * * * /home/script/test.sh
# 조금 복잡하게 실행 (5일에서 6일까지 2시,3시,4시에 매 10분마다 test.sh 를 실행)
*/10 2,3,4 5-6 * * /home/script/test.sh
4. 기타
- 한 줄에 하나의 명령만 작성
# 잘못된 예
* * * 5 5
/home/script/test.sh
# 잘된 예
* * * 5 5 /home/script/test.sh
5. 참고 링크
- 예제 및 크론탭 백업 & 로깅 방법: https://jdm.kr/blog/2
- 일정기간 지난 로그 삭제: https://khj93.tistory.com/entry/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%9D%BC%EC%A0%95-%EA%B8%B0%EA%B0%84%EC%9D%B4-%EC%A7%80%EB%82%9C-%EB%A1%9C%EA%B7%B8-%EC%9E%90%EB%8F%99-%EC%82%AD%EC%A0%9C%ED%95%98%EA%B8%B0
- 크론탭 사용법: https://www.fun-coding.org/linux_basic6.html
Author And Source
이 문제에 관하여([Linux] Crontab 명령어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zeesoo/Linux-Crontab-명령어저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)