디렉토리에 여러 (아카이브 된) 백업 파일이 있습니다. "backup-"로 시작하는 파일 이름.모든 파일을 지우지 만 최신 파일을 유지하십시오.
이전보다 7 일 이상 오래된 파일을 모두 삭제하고 싶지만 항상 하나의 파일 (최신 파일)이 있어야합니다. 그렇지 않으면 백업 파일이 더 이상 없습니다.
7 일 이상 된 모든 파일을 삭제하는 소스 코드가 있지만 (아래 참조), 디렉토리에 최신 파일을 항상 보관하는 방법은 무엇입니까? 따라서, 남은 사람은 7 일 이상 될 수 있습니다 (가장 최신 인 경우).
$bu_days=7;
$files="backup*.tar.gz";
foreach(glob($filter) as $fd) {
if(is_file($fd) && time() - filemtime($fd) >= $bu_days*24*60*60) {unlink($fd);}
}
그냥 파일을 계산하고 휴식; foreach는 단지 하나의 파일이 남아있을 때입니까? – Thomas
삭제하기 전에 몇 가지 테스트를해야합니다. – RST
질문이 해결 된 경우 적절한 답을 해결책으로 표시하십시오 (질문 제목에 '해결'추가하는 대신). –