Shell 이 지정 한 시간 전의 파일 을 정기 적 으로 삭제 합 니 다.

979 단어 Shell정시삭제
최근 월 드 컵 이 와 서 업무 와 월 드 컵 사이 에 바 빠 서 블 로 그 를 관리 할 시간 이 없 었 습 니 다.오늘 은 간단 한 셸 전 체 를 여러분 에 게 줄 수 밖 에 없 었 습 니 다.회 사 는 한 달 전의 백업 파일 을 삭제 하 라 고 요 구 했 습 니 다.하 드 디스크 를 터 뜨리 지 않도록 서버 에서 보 았 습 니 다.3 개 월 동안 백업 이 정리 되 지 않 았 습 니 다.다행히 sql 백업 이 었 습 니 다.그렇지 않 았 다 면 하 드 디스크 공간 이 꽉 찼 을 것 입 니 다.
다음은 나의 해결 방법 이다.

cat delbak.sh
#!/bin/sh
location="/root/sqlbak/"
find $location -mtime +30 -type f |xargs rm -f
ps:
location 은 찾 는 디 렉 터 리 를 설정 합 니 다.
--mtime+30 은 설정 시간 30 일 전이 다
-type f 이번 주 에 찾 은 형식 은 파일 입 니 다.
그리고 crontab 를 추가 하여 정시 에 삭제 합 니 다:

crontab -l
10 4 1 * * /bin/sh /root/soft_shell/delbak.sh
매달 1 일 저녁 4 시 10 분 에 스 크 립 트 를 실행 하도록 설정 합 니 다.물론 원 하 는 대로 할 수도 있 습 니 다.
같은 삭제 방법:

find /root/sqlbak -mtime +30 -type f -name *.gz -exec rm -f {} \;

좋은 웹페이지 즐겨찾기