특정 디렉토리를 일정 기간이 지난후에 지우는 방법
작성자 정보
- 李秀一 작성
- 작성일
컨텐츠 정보
- 1,294 조회
- 5 댓글
- 0 추천
- 목록
본문
특정 디렉토리를 일정 기간이 지난후에 지우는 방법이 어떻케 될가요?
cron 으로 db 디렉토리를 매일 새벽 4시가 되면
/var/backup/mysql 이란 디렉토리에 백업하도록 해놨습니다.
그러다 보니 시간이 지남에 따라 하드디스크의 용량이 부족합니다.
____________________________________________________________
bash-2.03# pwd
/var/backup/mysql
bash-2.03#bash-2.03# ls -l
총 6
drwxr-xr-x 5 root other 512 2월 03일 12:20 ./
drwxr-xr-x 4 root other 512 2월 04일 12:16 ../
drwxr-xr-x 3 root other 512 2월 05일 04:00 mysql2007.02.05/
drwxr-xr-x 3 root other 512 2월 06일 04:00 mysql2007.02.06/
drwxr-xr-x 3 root other 512 2월 07일 04:00 mysql2007.02.07/
drwxr-xr-x 3 root other 512 2월 08일 04:00 mysql2007.02.08/
drwxr-xr-x 3 root other 512 2월 09일 04:00 mysql2007.02.09/
drwxr-xr-x 3 root other 512 2월 10일 04:00 mysql2007.02.10/
drwxr-xr-x 3 root other 512 2월 11일 04:00 mysql2007.02.11/
drwxr-xr-x 3 root other 512 2월 12일 04:00 mysql2007.02.12/
bash-2.03#
____________________________________________________________
이와 같습니다.
즉 저렇게 날자순으로 백업이 되어 있습니다.
그리고 스크립트(backup.sh)는 다음과 같습니다.
____________________________________________________________
bash-2.03# cat ../backup.sh
#!/bin/sh
echo "Backup Starting..."
echo "mysql directory(var/backup/mysql) backup..."
mkdir -p /var/backup/mysql/mysql`date +%Y.%m.%d`
cp -r /usr/local/mysql /var/backup/mysql/mysql`date +%Y.%m.%d`
____________________________________________________________
[질문]
따라서
오늘 백업을 하면
drwxr-xr-x 3 root other 512 2월 05일 04:00 mysql2007.02.05/
이 날자의 디렉토리를 지우고 싶습니다. 어찌해야 될까요?
관련자료
-
이전
-
다음
배준태님의 댓글
- 배준태
- 작성일
윤용섭님의 댓글
- 윤용섭
- 작성일
find . -mtime +7 -exec rm -rf {} ;
李秀一님의 댓글
- 李秀一
- 작성일
윤용섭님 답변의 경우
다른 디렉토리에서 c코드를 생성해서 컴파일을 했을 경우 그 코드가 해당일에 포함된다면 지워져서 안될 것 같습니다.
배준태님 답변의 경우
3월달로 넘어갔을 경우 지울수가 없어요
어찌 해결하면 될까요?
윤용섭님의 댓글
- 윤용섭
- 작성일
find . -type d -name "mysql*" -mtime +7 -exec rm -rf {} ;
李秀一님의 댓글
- 李秀一
- 작성일
윤용섭님 답변 무지 감사합니다.
find 를 자유자재로 잘 쓸줄 몰라서요.