Con l'andare avanti nel tempo, la cartella che contiene i files di backup andrà man mano riempiendosi di files di backup vecchi, inutili.
Scegliamo quindi una quantità di files da mantenere costanti sul server ed andiamo ad eliminare quelli che eccedono questa quantità, partendo dai più vecchi.
Inseriamo questo codice subito dopo al codice che abbiamo usato per creare il backup:
Codice PHP:
#recupera nome e data files di backup
$_dir = $_SERVER["DOCUMENT_ROOT"] . "/backup_files/";
$_files = array();
if(is_dir($_dir)){
if($_dh = opendir($_dir)) {
while(false !== ($_file = readdir($_dh))){
if($_file != '.' && $_file != '..'){
$_files[] = array('file' => $_file, 'data' => date("d/m/Y", filemtime($_dir. "/" . $_file)));
}
}
closedir($_dh);
rsort($_files);
$ultimo_back = $_files[0]["data"]; //qui ricavo la data dell'ultimo backup effettuato, utile se la si vuole stampare a video
}
##MANUTENZIONE FILES DI BACKUP##
$max_files = 3; //numero files di backup da mantenere costanti sul server
$tot_files = count($_files);
if($tot_files > $max_files){ // i files sul server sono maggiori di quelli consentiti
for($i = $max_files; $i <= $tot_files-1; $i++){
unlink($_dir . $_files[$i]["file"]);
}
}
##FINE MANUTENZIONE FILES DI BACKUP##
Dal momento che abbiamo creato nel database la tabella backup, anzichè usare il metodo qui sopra, possiamo di volta in volta salvare i riferimenti dei backup in quella tabella (modificandola un briciolo) ed effettuare i controllo di cui sopra sul db.