добавил механизм удаления старых файлов

This commit is contained in:
Dmitry Borisenko
2022-08-30 00:41:27 +02:00
parent 199c6ac46b
commit 88d5ac513e
2 changed files with 13 additions and 5 deletions

View File

@@ -7,6 +7,7 @@ class Loging : public IoTItem {
String logid; String logid;
String id; String id;
int points; int points;
int keepdays;
int interval; int interval;
bool firstTime = true; bool firstTime = true;
@@ -21,6 +22,7 @@ class Loging : public IoTItem {
SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300"); SerialPrint("E", F("Loging"), "'" + id + "' user set more points than allowed, value reset to 300");
} }
jsonRead(parameters, F("int"), interval); jsonRead(parameters, F("int"), interval);
jsonRead(parameters, F("keepdays"), keepdays);
} }
String getValue() { String getValue() {
@@ -124,6 +126,10 @@ class Loging : public IoTItem {
//выгрузка по частям, по одному файлу //выгрузка по частям, по одному файлу
publishJsonPartly("/lg/" + fname, calculateMaxCount(), i); publishJsonPartly("/lg/" + fname, calculateMaxCount(), i);
//} //}
if (fileUnixTime < (unixTime - (keepdays * 86400))) {
SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' too old, deleted");
removeFile(directory + "/" + fname);
}
} }
} else { } else {
SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' not used, deleted"); SerialPrint("i", F("Loging"), "'" + id + "' file '" + fname + "' not used, deleted");

View File

@@ -12,7 +12,8 @@
"int": 60, "int": 60,
"logid": "tmp", "logid": "tmp",
"num": 1, "num": 1,
"points": 255 "points": 300,
"keepdays": 2
} }
], ],
"about": { "about": {
@@ -22,11 +23,12 @@
"specialThanks": "", "specialThanks": "",
"moduleName": "Loging", "moduleName": "Loging",
"moduleVersion": "1.0", "moduleVersion": "1.0",
"moduleDesc": "Расширение позволяющее логгировать любую величину в график", "moduleDesc": "Расширение позволяющее логировать любую величину в график",
"propInfo": { "propInfo": {
"int": "Интервал", "int": "Интервал логирования",
"logid": "ID величины которую будем логгировать", "logid": "ID величины которую будем логировать",
"points": "Максимальное количество точек в одном файле" "points": "Максимальное количество точек в одном файле, может быть не более 300",
"keepdays": "Количество дней за которое необходимо хранить историю. Данные старее будут удалены автоматически"
} }
}, },
"defActive": true, "defActive": true,