FREEDOM. FRIENDS. FEATURES. FIRST.
페도라 한국 사용자 모임

특정폴더가 용량을 초과하면 제일먼저 생성된 파일을 삭제할려고하는데...?

게시판 질문게시판 특정폴더가 용량을 초과하면 제일먼저 생성된 파일을 삭제할려고하는데...?

  • This topic has 6개 답변, 2명 참여, and was last updated 9 years, 10 months 전에 by 태랑. This post has been viewed 20 times
  • 만든이
    게시글
  • #13293
    아기공룡둘째
    참가자
    • 게시글2
    • 댓글4
    • 총합6
    • ★★
    @kimjg777

    특정폴더에 실시간으로 1시간마다 로그파일이 계속만들어지고 있습니다.

    그런데 만약 특정폴더의 용량을 100M 로 프로그램적으로 설정을 해놓고 특정폴더를 5분단위로 계속 감시를

    해서 로그파일이 100M 를 넝어버리면 날짜를 체크해서 제일먼저 생성된 순서대로 파일을 삭제하는 프로그램을 만들고

    싶은데 쉘 프로그램으로 가능한가요?

    아님 C 프로그램으로 개발을 해야 되는건지....

    혹시 아시는분 있으시면 참고자료 나 기타 글좀 부탁드립니다.

    수고하세요.^^

5 답변 글타래를 보이고 있습니다
  • 글쓴이
    답변
    • #14862
      태랑
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      제 머리론 1줄로는 처리가 않되서리... 제생각에는 C로 하는것보다 스크립트로 하는게 좋을듯 하고

      제가한번 만들어 봤습니다.
      아래 내용을 스크립트 파일만들어서 돌리시면 됩니다.

      디렉토리 와 사이즈 조정하셔야 하고 해당 스크립트를 crontab 에 등록하셔서 사용하시면 될듯 합니다.

      find ./ -size +10000k -exec ls -1 {} \; > list.txt
      rm -rf `sed -n '1p'  list.txt | awk '{print $1}'`

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

    • #14863
      태랑
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      제 머리론 1줄로는 처리가 않되서리... 제생각에는 C로 하는것보다 스크립트로 하는게 좋을듯 하고

      제가한번 만들어 봤습니다.
      아래 내용을 스크립트 파일만들어서 돌리시면 됩니다.

      디렉토리 와 사이즈 조정하셔야 하고 해당 스크립트를 crontab 에 등록하셔서 사용하시면 될듯 합니다.

      find ./ -size +10000k -exec ls -1 {} \; > list.txt
      rm -rf `sed -n '1p'  list.txt | awk '{print $1}'`

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

    • #14864
      아기공룡둘째
      참가자
      참가자
      • 게시글2
      • 댓글4
      • 총합6
      • ★★
      @kimjg777

      태랑님의 답변글 감사합니다.^^

      그런데 제가 설명했던 요지는 파일에 대해서 특정용량이 오버된 파일을 삭제하는것이 아니구요

      예를 들어서 특정디렉토리의 용량이 100M 아니면 다른값으로 설정해서 그 설정값 이상으로 특정디렉토리내에

      파일이 생성이 되면 특정디렉토리가 설정용량값이하를 유지하도록 파일생성시간을 검사하여 제일먼저 생성된 파일

      부터 특정디렉토리가 설정용량값이하를 유지하도록 삭제를 하는 형태입니다.

      그러면 항상 특정디렉토리가 설정용량값이하로 유지가 되겠죠..

      괸찮으시면 다시한번만 답변좀 부탁드립니다.

      답변주신걸로 변형을 해볼려고 해도 잘 되질 않네요.. 

    • #14865
      아기공룡둘째
      참가자
      참가자
      • 게시글2
      • 댓글4
      • 총합6
      • ★★
      @kimjg777

      태랑님의 답변글 감사합니다.^^

      그런데 제가 설명했던 요지는 파일에 대해서 특정용량이 오버된 파일을 삭제하는것이 아니구요

      예를 들어서 특정디렉토리의 용량이 100M 아니면 다른값으로 설정해서 그 설정값 이상으로 특정디렉토리내에

      파일이 생성이 되면 특정디렉토리가 설정용량값이하를 유지하도록 파일생성시간을 검사하여 제일먼저 생성된 파일

      부터 특정디렉토리가 설정용량값이하를 유지하도록 삭제를 하는 형태입니다.

      그러면 항상 특정디렉토리가 설정용량값이하로 유지가 되겠죠..

      괸찮으시면 다시한번만 답변좀 부탁드립니다.

      답변주신걸로 변형을 해볼려고 해도 잘 되질 않네요.. 

    • #14866
      태랑
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      #!/bin/bash

      du -s | awk '{print $1}' > size.txt

      sed s/M//g  size.txt | tee size.txt 1>& /dev/null

      read size < size.txt

      if [ $size -gt 5000 ];
      then
      ls -1tr  > rm_list.txt
      rm -rf `sed -n '1p'  rm_list.txt`
      fi

      rm -rf size.txt
      rm -rf rm_list.txt

      중요한건 해당 내용의 스크립트를 당연히 test_save 디렉토리에 넣어놓으면 낭중에 스크립트도 삭제 되겟죠

      디렉토리구분 잘하셔서 사용하시면 되고 위의 if문의 5000 은 kbyte  입니다
      해당 부분을 원하시는 용량를 적으면 됩니다(kbyte 단위로)

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

    • #14867
      태랑
      키 마스터
      • 게시글209
      • 댓글880
      • 총합1089
      • ★★
      @admin

      #!/bin/bash

      du -s | awk '{print $1}' > size.txt

      sed s/M//g  size.txt | tee size.txt 1>& /dev/null

      read size < size.txt

      if [ $size -gt 5000 ];
      then
      ls -1tr  > rm_list.txt
      rm -rf `sed -n '1p'  rm_list.txt`
      fi

      rm -rf size.txt
      rm -rf rm_list.txt

      중요한건 해당 내용의 스크립트를 당연히 test_save 디렉토리에 넣어놓으면 낭중에 스크립트도 삭제 되겟죠

      디렉토리구분 잘하셔서 사용하시면 되고 위의 if문의 5000 은 kbyte  입니다
      해당 부분을 원하시는 용량를 적으면 됩니다(kbyte 단위로)

      오픈소스를 응원합니다 Blog https://hoing.io
      Senior Database Administrator(Mysql, Oracle)

      사이트 이용 문의 사항은 댓글이나 admin@fedoralinux.or.kr 로 메일주세요

5 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.