cronjob problem
Hallo
ich hab einen webspace mit 50GB und meine 2 Webcams übertragen die aufnahmen dorthin.
da ja ziemliche datenmengen zusammenkommen, möchte ich einen Cronjob verwenden, der mir die Files, die älter als 15 tage sind, automatisch löscht. der cronjob soll halt 1x am tag dies erledigen. mein Webspaceanbieter kann dies auch.
In meinem Coding ist aber irgend ein Fehler drin, sodass die Files nicht gelöscht werden. Vielleicht kann mir jemand helfen.
Ausgangslage: Das Speicherverzeichnis lautet: /FI9805W_00626Exxxxx/snap2 und die files darin MDAlarm_20170515-070726.jpg
MDAlarm_20170515-070727.jpg
MDAlarm_20170515-070728.jpg
Mein Cronjob Script ist folgendes:
<?php
function delete_files($dir)
{
$handle = opendir($dir);
$cnt = 0;
$timeout = time()-60*60*24*2;
while(false !== ($file = readdir( $handle ))) {
$absfile = $dir . $file;
if(is_dir($absfile)) continue;
$mtime = filemtime($absfile); // ggf. filectime() statt filemtime() verwenden
printf("%s: mtime = %s, timeout = %s\n", $absfile, strftime("%Y-%m-%d,%H:%M:%S",$mtime), strftime("%Y-%m-%d,%H:%M:%S",$timeout));
if($timeout > $mtime) {
unlink( $absfile );
printf("%s geloescht\n", $absfile);
$cnt++;
}
}
closedir($handle);
echo 'Anzahl: ' . $cnt;
}
delete_files('xxxx/foscam/FI9805W_00626Exxxxx/record/');
delete_files('xxxx/foscam/FI9805W_00626Exxxxx/snap/');
?>
Dieses Script hat mir jemand geschrieben, funktionierte schon 1x. Es dürfte sich jedoch etwas verändert haben am system und jetzt klappt es nicht mehr. Ich selbst hab null ahnung von Scripten.
Weiß hier nichtmal, wo ich das Alter der Datei einstellen kann?!
|