본문 바로가기

find2

find exec 사용시 주의사항 Linux 장비에서 주기적으로 로그파일을 삭제할 때 find exec 명령어를 통해 원하는 파일을 삭제하는 방식을 많이 사용하는데, 보통 아래처럼 crontab에 등록해 둔다. 00 0 * * * find /usr/local/logs mtime +7 -exec rm -rf {} \; 이 의미는 /usr/local/logs 디렉토리에 수정시간(mtime) 이 7일 이상된 파일을 삭제(rm -rf) 해 달라는 의미이다.참고로 rm -rf 의 경우는 파일이든 디렉토리이든 모두 삭제한다. 이렇게 crontab을 등록하니 문제가 발생했다./usr/local/logs 디렉토리까지 지워진 것이다. 이를 방지하기 위해서는 4가지 방법이 있다. 1. mindepth 옵션 추가 00 0 * * * find /usr/loc.. 2015. 3. 31.
Find 명령어 Find 명령어 #find : 원하는 파일 찾아보기 -옵션 - -perm : 권한과 일치하는 파일을 찾는다. ex)#find / -perm -4000 *해석 : /에서부터 setUID 가 걸린 모든 파일을 찾아라" 위에서 4000앞에 -가 바로 "적어도"를 의미하며 -perm은 "권한을 찾겠다" 라는 옵션이고, 그 뒤에 '4'자가 바로 setUID를 의미하며, '000'은 rwx 모두를 의미한다. -name : 이름과 일치하는 파일을 찾는다. ex)#find / -name kyh -user : 유저와 일치하는 파일을 찾는다. -group : 그룹과 일치하는 파일을 찾는다. -empty : 비어있는 파일이나 디렉토리 -amin n : n분 전에 마지막으로 액세스된 파일 -atime n : n*24시간 전에.. 2015. 3. 16.