리눅스 du 명령어로 바이트 단위까지 감지가 가능할까요?
글쓴이: morolty / 작성시간: 수, 2014/02/12 - 10:38오전
/test 디렉토리에 ls -l을 해보면
... -rw-r--r-- 1 root root 12 Feb 11 19:37 file1 -rw-r--r-- 1 root root 12 Feb 11 19:37 file2 -rw-r--r-- 1 root root 12 Feb 11 19:37 file3 -rw-rw-rw- 1 root root 9513 Feb 12 09:09 file4 -rw-r--r-- 1 root root 5002 Feb 12 09:47 file5 -rw-rw-rw- 1 root root 297 Feb 12 10:31 file6 -rw-rw-rw- 1 root root 0 Feb 12 10:32 file7 -rw-rw-rw- 1 root root 220 Feb 12 10:32 file8 -rw-rw-rw- 1 root root 142 Feb 12 10:32 file9 ...
이런식으로 바이트 단위로 파일이 있습니다..
근데 이 디렉토리를 감시하고 있다가 일정 크기 이상의 파일이 생성되면 감지하는 스크립트를 만들고 있는데요..
du 명령어로 디렉토리 용량을 감시하고 있었는데 4KB 미만의 파일은 다 4KB로 간주하는거 같네요..
du -B 1 로 하려고 해도 4096Byte로 단위로 계산하네요.. 리눅스 디폴트 파일블럭 사이즈 이용하는건지 정확하게는 잘 모르겠는데 여튼 이러네요..
1Byte 단위로 파일용량을 감지할 방법은 없을까요?
Forums:
shell script 에서도 inotify 를
shell script 에서도 inotify 를 사용할 수 있습니다. 사용하시는 커널이 inotify 를 지원한다면요.
inotify-tools 패키지의 inotifywatch 를 사용해서 디렉토리를 감시하다create,remove,modify 이벤트 때 해당 파일의 크기를 조사해서 반응하면 되겠습니다.
감사합니다.. 그런데 이 스크립트가 설치될 os가
감사합니다.. 그런데 이 스크립트가 설치될 os가 AIX / rhel / Solaris 온갖 종류에 온갖 버전이 다 섞여 있는곳이라...패키지 사용은 아무래도 힘들것 같아요..
뭐 정 안되면 주먹구구식으로 ls -l 과 grep / awk 조합해서 뽑아내서 합쳐야 하는데 감시하려는 디렉토리가 많아질 시 부하가 걸릴거 같아서 고민이네요..
du, ls, grep, awk 도 OS 마다 다를
du, ls, grep, awk 도 OS 마다 다를 수 있습니다.
심지어 믿고 계시는 그 shell 도 OS 마다 다를 수 있습니다.
여러 버전/종류의 unix 에 뭔가를 적용하는 게 자주 걸려드는 업무라면,
perl 추천합니다.
쉘은 born shell로 통일하기로
쉘은 born shell로 통일하기로 협의해서..괜찮을거 같긴한데
펄 스크립트 공부를 해봐야겠군요.. 좋은말씀 감사합니다!
-b 옵션이 있는데 원하시는 결과가 나오는 것
-b 옵션이 있는데 원하시는 결과가 나오는 것 같습니다.
앗! 이거였군요! 감사합니다!! ^ㅇ^
앗! 이거였군요! 감사합니다!! ^ㅇ^
이거 어떻습니까? $ find /tmp/ -size
이거 어떻습니까?
괜찮네요 한번 조합해서 진행해보도록 해봐야겠네요 ^^
괜찮네요 한번 조합해서 진행해보도록 해봐야겠네요 ^^
댓글 달기