쉘 스크립트에서 날짜별로 삭제

쉘 스크립트에서 날짜별로 삭제

데이터베이스 백업을 생성하는 쉘 스크립트가 있습니다. 지난 7일 동안의 파일을 보관하고 싶습니다.

날짜별로 디렉터리의 파일을 삭제하려면 어떤 구문이 필요합니까? 아니면 디렉터리에 최신 7개 파일을 보관할 수 있습니까?

스크립트는 cron을 통해 실행됩니다.

편집: 이런 것?

find -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;

답변1

를 사용하면 find /path/to/backups -type f -mtime +7 -maxdepth 17일보다 오래된 모든 파일을 찾아 삭제할 수 있습니다.

답변2

find /path/to/backups -type f -mtime +7 -maxdepth 1 -delete

귀하의 아이디어 exec도 효과가 있지만 여전히 백업 디렉터리에 대한 경로가 필요하며 귀하의 아이디어 exec는 옳지 않습니다. 그럴 수도 있다

find /path/to/backups -type f -mtime +7 -maxdepth 1 -exec rm -f {} \;

또한 이 옵션이 필요한지 잘 모르겠습니다 -maxdepth. 하위 디렉토리로 들어가는 것이 걱정됩니까? 귀하의 질문에 관련성이 없습니다.

관련 정보