Als volledig newbie ben ik uiteindelijk hier beland omdat ik nergens op internet een kant en klaar script kan vinden die aan mijn behoefte voldoet. Ik hoop dat jullie mij kunnen helpen.
Ik wil een php script die in een directory mappen en bestanden zoek die ouder zijn dan x dagen en deze verwijderd.
waarom?
Ik maak vanaf sit A een backup (directadmin) en ftp deze backup naar serverB. Omdat ik niet tot in de eeuwigheid backups wil bewaren mogen ze van mij na 5 dagen verwijderd worden.
Nu heb ik dit gevonden maar het werkt niet:
<?php
$dir = '/home/backup';
if ($handle = opendir($dir)) {
/* This is the correct way to loop over the directory. */
while (false !== ($file = readdir($handle))) {
if ($file[0] == '.' || is_dir("$dir/$file")) {
// ignore hidden files and directories
continue;
}
if ((time() - filemtime($file)) > ($days *86400)) { //5 days
unlink("$dir/$file");
}
}
closedir($handle);
}
?>
Excuus op een of andere manier eindgt de quote niet :(
deze foutmelding krijg ik:
Warning: filemtime() [function.filemtime]: stat failed for 9.rss in /home/sieliaku/public_html/delete.php on line 11
Warning: unlink(/home/sieliaku/public_html/images/phocagallery//9.rss) [function.unlink]: Permission denied in /home/sieliaku/public_html/delete.php on line 12
dit bestand heb ik zelfs al 777 gechmod.
De foutmelding krijg ik alleen voor de bestanden, met de directory's wordt helemaal niets gedaan :(
helaas kan ik geen ssh toegang, maar dit script wil ik draaien
find /home/backup -type f -mtime +5 -exec rm {} \;
vervolgens dit
find /home/backup -type d -mtime +5 -exec rm {} \;
Ik hoop dat jullie mij verder kunnen helpen.
groet
Roy