-
리눅스에서 오래된 로그 주기적으로 정리하기프로그래밍/Linux 2016. 12. 25. 17:42728x90반응형
리눅스에서 cron작업을 하다보면 로그가 쌓일 경우가 있다.
단기간에 확인이 필요한 로그가 아니면 서버 저장공간을 아끼기 위해서
오래된 로그들은 삭제하거나 백업 폴더로 옮기는 스크립트를 걸어두는 것이 좋다.
일단 find로 오래된 로그를 찾아보자.
find는 특정 조건을 찾는 명령어로 기본구문은 아래와 같다.
find [options] [path] [expression]
expression 중에 mtime 이라는 옵션을 사용하면
수정된 날짜를 참조해서 (로그일 경우 로그 생성 날짜) 파일을 찾을 수 있다.
mtime +7 이면 수정날짜가 7일은 지난 파일들을 의미하고
mtime -7 이면 수정날짜가 7일 이내인 최신 파일들을 의미한다.
exec 옵션을 사용하면 위 조건으로 찾은 파일들로 어떤 명령을 내릴지 지정할 수 있다.
{}는 앞에서 찾은 파일 이름들로 대체되고 ;을 만날때까지의 명령을 수행한다.
마지막의 ;는 \로 escape 되어야 한다.
아래 명령어를 기존 운영 스크립트에 걸어두었다.
이제 오래된 로그들은 주기적으로 정리가 되어 좀 더 깔끔하게 서버 이용이 가능해졌다 : )
#!/bin/sh
# 삭제 할 경우
find /home/apache/log/ -mtime +7 -name \* -exec rm {} \;
# 백업 폴더로 이동할 경우
find /home/apache/log/ -mtime +7 -name \* -exec mv {} /mnt/backup/logbackup/ \;
728x90반응형'프로그래밍 > Linux' 카테고리의 다른 글
shell script에서 mysql query 실행하기 (0) 2017.05.01 Ubuntu 서버에 새 관리자 추가 (0) 2017.01.05 ubuntu 에서 유저 생성과 관리자 권한 주기 (0) 2016.07.02 리눅스 열린 포트 확인하기 (0) 2016.06.18 리눅스에서 date 명령어 사용하기 (0) 2016.03.20