'find'에 해당하는 글 2건

우분투(리눅스) 시스템을 운영하다보면, 파일이 생선된 후 오래된 파일이 계속 남아있는 경우가 있다.

그런 경우 해당 파일을 지워주지 않으면 디스크가 꽉 차거나 해서 시스템이 중단 될 수도 있다.


주의!!

파일을 일괄 명령으로 지우는 것이기 때문에 초보자는 가급적 하지 않거나, 가상머신 등에서 충분히 테스트 한 후에 사용하는 것이 좋습니다.


1. tmpwatch / tmpreaper 로 지우는 방법

이 방법은 전용프로그램을 이용하는 것이다.

tmpwatch - centos 쪽에서 주로 사용

tmpwatch -umcv --nosymlinks --all 48 /tmp

주요부분 설명

/tmp 디렉토리에서

48 : 시간단위 - 2일 지난 파일

--nosymlinks : 심볼릭 링크가 아닌 파일


tmpreaper - ubuntu 쪽에서 주로 사용

tmpreaper -cv 48h /tmp

설명 (tmpwatch 와 비슷함)


tmpreaper 의 문제점 - 보안상(?)의 이유인지.

tmpreaper 는 실행된 후 55초(기본값) 지난후 에 중지된다. 그런데, 중지된 이후에서 계속 프로세스에 남아있는다.
내가 테스트한 곳만 그런지는 모르겠지만,  뭔가 이상하다. 불안하다.




2. find 로 검색해서 삭제

find /tmp -mtime +2 -exec rm -vf {} \;

주요부분 설명

/tmp 디렉토리에서

+2 : 일단위 - 2일 지난 파일

-exec : 조건에 맞는 파일에 대해 실행 

-exec  ls -l {} \; => 등으로 먼저 테스트를 해보는 것이 좋음


우분투에서 tmpreaper 의 문제때문에 find 방식으로 바꿨다.



반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,
find 로 원하는 파일을 찾고
grep 으로 해당 파일의 원하는 단어를 찾습니다.

find . -type f -name "*.php" -exec grep -EH -n --color "str_|ereg" {} \;

-H 옵션은 해당 파일 이름을 보여주고
-n 은 찾은 단어의 라인번호를 보여줍니다.

확장자를 여러개 지정해서 사용하고 싶은 경우.

-name "*.php" -o -name "*.jsp" 처럼 -o 로 연결해 줍니다.( -or 를 생각하면 됨. 비슷한 예로 -a/-and 가 있음)



php 5.3.x 버전에서 deprecated 되는 함수들입니다.
http://php.net/manual/en/migration53.deprecated.php

자주쓰는 함수들이 있으면 대체 함수로 바꿔주세요.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,