Die tausende von völlig veralteten kleinen WIIPS-Dateien im IPS-backup-Verzeichnis nerven nicht nur, sondern machen auch jedes Kopieren a...langsam.
Hier Abhilfe:
PHP-Code:
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : delBackupWIIPS.ips.php
Trigger : ---
Interval : tgl.
WIIPS-Dateien im <IPS>/backup bereinigen, die älter sind als definiert in
"conf.timeout.delBackupWIIPS" (Default: 2 Tage = 48*3600 Sekunden)
betrifft alle Dateien der Struktur:
rrd.*.<zeitstempel>.~
weather.*.<zeitstempel>.~
Rel. 1 GW 14.02.2008
*/
// in der include: mein einheitliches Log-/Debug-/Alarm-Handling,
// definiert und steuert function "loggen" sowie Variablen "$myself" und "$debug"
include "_globals.ips.php";
if (!IPS_VariableExists("conf.timeout.delBackupWIIPS")) {
IPS_CreateVariable("conf.timeout.delBackupWIIPS", "Integer");
SetValueInteger("conf.timeout.delBackupWIIPS", (48*3600));
}
$timeout = GetValueInteger("conf.timeout.delBackupWIIPS");
$jetzt = time(); // als Variable für die ggf. notwendige Verwendung perpendikulärer Jetztzeit (siehe Snegow: Ring der Gegenzeit) :-)
$anzahlD = 0;
$root = str_replace( '\\','/',IPS_GetKernelDir() );
$data = $root . "backup/";
$dircontent = scandir($data);
foreach($dircontent as $filename) {
if ($filename != '.' && $filename != '..') {
$elemente = array();
$elemente = explode(".", $filename); // Dateiname am "." trennen
$anz = sizeof($elemente);
if (($anz > 3) and (is_numeric($elemente[2])) and ((strtolower($elemente[0]) == "weather") or (strtolower($elemente[0]) == "rrd"))) {
$timestamp=(int)$elemente[2];
if ($timestamp>0) {
$str = $filename;
$datum = date("d.m.Y", $timestamp);
$zeit = date("H:i:s", $timestamp);
$str .= " (Timestamp: ".$datum." ".$zeit.")\n";
// echo $str;
if ($timestamp + $timeout < $jetzt) {
unlink ($data.$filename);
$anzahlD++;
// echo "Treffer!\n";
}
}
}
}
}
$msg = $anzahlD." alte WIIPS-Backup-Dateien gelöscht.";
loggen ($msg, $myself);
if ($anzahlD > 0) {
}
?>
Ich ruf das einfach einmal am Tag auf. Aber aufpassen, das das zu einer Minute passiert, in der WIIPS normalerweise nicht viel Arbeit tut. (bei mir: 7:23 Uhr)