기본 콘텐츠로 건너뛰기

라벨이 crontab인 게시물 표시

리눅스에서 특정 디렉토리의 일정 기간이 지난 파일을 다른 곳으로 이동 - Linux shell script

리눅스에서 로그성 데이터들이 쌓이는 곳들이 몇 곳이 있다. 그 중에서 일정 기간 지나면 자동으로 지워지지 않는 파일들이 있는데, 이를 매일 들어가서 지우는 것도 일이다. 삭제도 좋고, 데이터를 이동하는 것도 좋은데, 파일을 이동하는 스크립트로 만들어 봤다. mkdir -p /data1/expdata/partitions for   i   in   `find /oracle/expdata/partitions -mtime +4 -type f` ;  do  mv  $i  /data1/expdata/partitions;  done 이렇게 하면 4일이 지난 해당 디렉토리의 파일을 /data1/expdata/partitions 로 이동한다. 이걸 크론에 등록 하면 (crontab -l ; echo "1 0 * * * sh /data1/DBA/LowyWorks/arrange_oldfiles.sh")| crontab - 쉘에서 이걸 실행하면 자동으로 crontab에 등록 된다. 물론 등록 할 때의 로그인 계정으로 등록되니 crontab에 등록할 때 여기저기 계정으로 등록되지 않게 주의해서 등록하기 바란다. 위의 find 는 일반적인 find문을 그대로 쓸 수 있기 때문에 | grep -v .sh 처럼 이동하고 싶지 않은 파일들을 제외할 수도 있지만, 관리를 위해서는 로그성 데이터는 모두 한 곳으로 이동해 놓는 것을 추천한다. 더 많은 정보를 보고 싶다면, https://github.com/LowyShin/KB-KnowledgeBaseHome/wiki/Shell