diff --git a/front/php/templates/language/ar_ar.json b/front/php/templates/language/ar_ar.json
index aec71fb2..2dc32d8c 100755
--- a/front/php/templates/language/ar_ar.json
+++ b/front/php/templates/language/ar_ar.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "",
"HRS_TO_KEEP_NEWDEV_name": "",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "",
"HelpFAQ_Cat_Detail_300_head": "",
"HelpFAQ_Cat_Detail_300_text_a": "",
diff --git a/front/php/templates/language/cs_cz.json b/front/php/templates/language/cs_cz.json
index aec71fb2..2dc32d8c 100755
--- a/front/php/templates/language/cs_cz.json
+++ b/front/php/templates/language/cs_cz.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "",
"HRS_TO_KEEP_NEWDEV_name": "",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "",
"HelpFAQ_Cat_Detail_300_head": "",
"HelpFAQ_Cat_Detail_300_text_a": "",
diff --git a/front/php/templates/language/de_de.json b/front/php/templates/language/de_de.json
index f0bd23dc..1e294995 100755
--- a/front/php/templates/language/de_de.json
+++ b/front/php/templates/language/de_de.json
@@ -323,6 +323,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Dies ist eine Wartungseinstellung DELETING devices. Wenn aktiviert (0 bedeutet deaktiviert), werden als \"Neues Gerät\" markierte Geräte gelöscht, wenn ihre erste Sitzung länger her ist als in dieser Einstellung angegeben. Verwenden Sie diese Einstellung, wenn Sie Neue Geräte nach X Stunden automatisch löschen wollen.",
"HRS_TO_KEEP_NEWDEV_name": "Neue Geräte löschen nach",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Detailansicht",
"HelpFAQ_Cat_Detail_300_head": "Was bedeutet ",
"HelpFAQ_Cat_Detail_300_text_a": "meint ein Netzwerkgerät (ein Gerät vom Typ AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router, USB-LAN-Adapter oder Internet). Benutzerdefinierte Typen können über die NETWORK_DEVICE_TYPES Einstellung hinzugefügt werden.",
diff --git a/front/php/templates/language/en_us.json b/front/php/templates/language/en_us.json
index e88f2544..bac41d6f 100755
--- a/front/php/templates/language/en_us.json
+++ b/front/php/templates/language/en_us.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "This is a maintenance setting DELETING devices. If enabled (0 is disabled), devices marked as New Device will be deleted if their First Session time was older than the specified hours in this setting. Use this setting if you want to auto-delete New Devices after X hours.",
"HRS_TO_KEEP_NEWDEV_name": "Delete new devices after",
+ "HRS_TO_KEEP_OFFDEV_description": "This is a maintenance setting DELETING devices. If enabled (0 is disabled), devices that are Offline and their Last Offline date time is older than the specified hours in this setting. Use this setting if you want to auto-delete Offline Devices after X hours being offline.",
+ "HRS_TO_KEEP_OFFDEV_name": "Delete offline devices after",
"HelpFAQ_Cat_Detail": "Details",
"HelpFAQ_Cat_Detail_300_head": "What means ",
"HelpFAQ_Cat_Detail_300_text_a": "means a network device (a device of the type AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,USB LAN Adapter, USB WIFI Adapter, or Internet). Custom types can be added via the NETWORK_DEVICE_TYPES setting.",
diff --git a/front/php/templates/language/es_es.json b/front/php/templates/language/es_es.json
index b287b4ed..58cd4fc2 100755
--- a/front/php/templates/language/es_es.json
+++ b/front/php/templates/language/es_es.json
@@ -321,6 +321,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Se trata de una configuración de mantenimiento BORRAR dispositivos. Si está activado (0 está desactivado), los dispositivos marcados como Nuevo dispositivo se eliminarán si su fecha de primera sesión es anterior a las horas especificadas en este ajuste. Use este ajuste si desea eliminar automáticamente Nuevos dispositivos después de X horas.",
"HRS_TO_KEEP_NEWDEV_name": "Eliminar nuevos dispositivos después",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Detalles",
"HelpFAQ_Cat_Detail_300_head": "¿Qué significa? ",
"HelpFAQ_Cat_Detail_300_text_a": "significa un dispositivo de red (un dispositivo del tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router,Adaptador LAN USB, Adaptador WIFI USB o Internet). Los tipos personalizados pueden añadirse mediante el ajuste NETWORK_DEVICE_TYPES.",
@@ -782,4 +784,4 @@
"settings_update_item_warning": "Actualice el valor a continuación. Tenga cuidado de seguir el formato anterior. O la validación no se realiza.",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Guarda tus cambios antes de probar nuevos ajustes."
-}
+}
\ No newline at end of file
diff --git a/front/php/templates/language/fr_fr.json b/front/php/templates/language/fr_fr.json
index 5be41268..d3f03c5a 100755
--- a/front/php/templates/language/fr_fr.json
+++ b/front/php/templates/language/fr_fr.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Paramètre de maintenance. S'il est activé (0 s'il est désactivé), les appareils marqués comme Nouvel appareil seront supprimés si leur durée depuis la première session est plus ancienne que le nombre d'heures paramétré. Utilisez ce paramétrage si vous voulez supprimer automatiquement les Nouveaux appareils après X heures.",
"HRS_TO_KEEP_NEWDEV_name": "Supprimer les nouveaux appareils après",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Détails",
"HelpFAQ_Cat_Detail_300_head": "Que signifie ",
"HelpFAQ_Cat_Detail_300_text_a": "signifie que cela représente un équipement réseau (Access Point, Gateway, Firewall, Hyperviseur, Powerline, Switch, WLAN, CPL, adaptateur Ethernet USB, adaptateur Wifi USB, Internet). Les types d'appareils personnalisés peuvent être ajoutés via le paramètre NETWORK_DEVICE_TYPES.",
@@ -703,4 +705,4 @@
"settings_update_item_warning": "Mettre à jour la valeur ci-dessous. Veillez à bien suivre le même format qu'auparavant. Il n'y a pas de pas de contrôle.",
"test_event_icon": "fa-vial-circle-check",
"test_event_tooltip": "Enregistrer d'abord vos modifications avant de tester vôtre paramétrage."
-}
+}
\ No newline at end of file
diff --git a/front/php/templates/language/it_it.json b/front/php/templates/language/it_it.json
index b703e289..1e11f915 100755
--- a/front/php/templates/language/it_it.json
+++ b/front/php/templates/language/it_it.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Questa è un'impostazione di manutenzione ELIMINAZIONE dispositivi. Se abilitata (0 è disabilitata), tutti i dispositivi marcati con Nuovo dispositivo verranno eliminati se l'orario della Prima sessione è precedente all'orario di questa impostazione. Usa questa impostazione se vuoi eliminare automaticamente i Nuovi dispositivi dopo X ore.",
"HRS_TO_KEEP_NEWDEV_name": "Elimina nuovi dispositivi dopo",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Dettagli",
"HelpFAQ_Cat_Detail_300_head": "Cosa significa ",
"HelpFAQ_Cat_Detail_300_text_a": "indica un dispositivo di rete (un dispositivo di tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Router, USB LAN Adapter, USB WIFI Adapter, o Internet). Tipi personalizzati possono essere aggiunti attraverso l'impostazione NETWORK_DEVICE_TYPES.",
diff --git a/front/php/templates/language/nb_no.json b/front/php/templates/language/nb_no.json
index 5f5ec21e..acbd55e2 100755
--- a/front/php/templates/language/nb_no.json
+++ b/front/php/templates/language/nb_no.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Dette er en vedlikeholdsinnstilling. Hvis aktivert (0 er deaktivert), vil enheter merket som Ny Enhet bli slettet hvis tiden deres for Første økt var eldre enn de angitte timene i denne innstilling. Bruk denne innstillingen hvis du vil automatisk slette Nye Enheter etter X timer.",
"HRS_TO_KEEP_NEWDEV_name": "Behold nye enheter for",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Detaljer",
"HelpFAQ_Cat_Detail_300_head": "Hva betyr ",
"HelpFAQ_Cat_Detail_300_text_a": "betyr en nettverksenhet (en enhet av typen AP, Gateway, Brannmur, Hypervisor, Powerline, Switch, WLAN, PLS, ruter, USB LAN-adapter, USB WIFI-adapter eller Internett). Egendefinerte typer kan legges til via NETWORK_DEVICE_TYPES-innstillingen.",
diff --git a/front/php/templates/language/pl_pl.json b/front/php/templates/language/pl_pl.json
index 65a32784..1ff3ea5f 100755
--- a/front/php/templates/language/pl_pl.json
+++ b/front/php/templates/language/pl_pl.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "To jest ustawienie konserwacyjne. Jeżeli uruchomione (0 jest wyłączone), urządzenie oznaczone jako Nowe Urządzenie zostanie usunięte jeżeli czas Pierwszej Sesji jest starszy niż godzina podana w tym ustawieniu. Uzyj tego ustawienia jeżeli chcesz automatycznie usuwać Nowe Urządzenia po X godzinach.",
"HRS_TO_KEEP_NEWDEV_name": "Trzymaj nowe urządzenia przez",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Szczegóły",
"HelpFAQ_Cat_Detail_300_head": "Co oznacza ",
"HelpFAQ_Cat_Detail_300_text_a": "oznacza urządzenie sieciowe (urządzenie typu AP, Gateway, Zapora sieciowa, Hypervisor, Powerline, Switch, WLAN, PLC, Ruter, Adapter USB LAN, Adapter USB WIFI, oraz Internet). Własny typ może zostać dodany poprzez ustawienie NETWORK_DEVICE_TYPE.",
diff --git a/front/php/templates/language/pt_br.json b/front/php/templates/language/pt_br.json
index 24c3bcfe..0ecf0d21 100755
--- a/front/php/templates/language/pt_br.json
+++ b/front/php/templates/language/pt_br.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Esta é uma configuração de manutenção. Se habilitada (0 is disabled), dispositivos marcados como Novo Dispositivo serão excluídos se o tempo de Primeira Sessão for mais antigo que as horas especificadas nesta configuração. Use esta configuração se quiser excluir automaticamente Novos Dispositivos após X horas.",
"HRS_TO_KEEP_NEWDEV_name": "Manter novos dispositivos por",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Detalhes",
"HelpFAQ_Cat_Detail_300_head": "O que significa ",
"HelpFAQ_Cat_Detail_300_text_a": "Significa um dispositivo de rede (um dispositivo do tipo AP, Gateway, Firewall, Hypervisor, Powerline, Switch, WLAN, PLC, Roteador, Adaptador LAN USB, Adaptador Wi-Fi USB ou Internet). Tipos personalizados podem ser adicionados através da configuração NETWORK_DEVICE_TYPES.",
diff --git a/front/php/templates/language/ru_ru.json b/front/php/templates/language/ru_ru.json
index 8c2d3764..d83bdaac 100755
--- a/front/php/templates/language/ru_ru.json
+++ b/front/php/templates/language/ru_ru.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "Это настройка обслуживания УДАЛЕНИЕ устройств. Если этот параметр включен (0 отключен), устройства, помеченные как Новое устройство, будут удалены, если время их Первого сеанса было старше указанных в этой настройке часов. Используйте этот параметр, если вы хотите автоматически удалять Новые устройства через X часов.",
"HRS_TO_KEEP_NEWDEV_name": "Удалить новые устройства после",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Подробности",
"HelpFAQ_Cat_Detail_300_head": "Что значит ",
"HelpFAQ_Cat_Detail_300_text_a": "означает сетевое устройство (типа AP, шлюз, межсетевой экран, гипервизор, Powerline, коммутатор, WLAN, PLC, маршрутизатор, USB-адаптер локальной сети, USB-адаптер Wi-Fi или Интернет). Пользовательские типы можно добавить с помощью параметра NETWORK_DEVICE_TYPES.",
diff --git a/front/php/templates/language/tr_tr.json b/front/php/templates/language/tr_tr.json
index a1f4e70b..af623528 100755
--- a/front/php/templates/language/tr_tr.json
+++ b/front/php/templates/language/tr_tr.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "",
"HRS_TO_KEEP_NEWDEV_name": "",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "Detaylar",
"HelpFAQ_Cat_Detail_300_head": "",
"HelpFAQ_Cat_Detail_300_text_a": "",
diff --git a/front/php/templates/language/zh_cn.json b/front/php/templates/language/zh_cn.json
index f537e14a..19adeb76 100755
--- a/front/php/templates/language/zh_cn.json
+++ b/front/php/templates/language/zh_cn.json
@@ -311,6 +311,8 @@
"General_icon": "",
"HRS_TO_KEEP_NEWDEV_description": "这是一项维护设置。如果启用(0 为禁用),则标记为新设备的设备(如果其首次会话时间早于此设置中指定的小时数)将被删除。如果您想在 X 小时后自动删除新设备,请使用此设置。",
"HRS_TO_KEEP_NEWDEV_name": "保留新设备",
+ "HRS_TO_KEEP_OFFDEV_description": "",
+ "HRS_TO_KEEP_OFFDEV_name": "",
"HelpFAQ_Cat_Detail": "详细",
"HelpFAQ_Cat_Detail_300_head": "含义 ",
"HelpFAQ_Cat_Detail_300_text_a": "表示网络设备(AP、网关、防火墙、虚拟机管理程序、电力线、交换机、WLAN、PLC、路由器、USB LAN 适配器、USB WIFI 适配器或 Internet 类型的设备)。可以通过 NETWORK_DEVICE_TYPES 设置添加自定义类型。",
diff --git a/front/plugins/db_cleanup/script.py b/front/plugins/db_cleanup/script.py
index 1c40f438..9115c2af 100755
--- a/front/plugins/db_cleanup/script.py
+++ b/front/plugins/db_cleanup/script.py
@@ -34,6 +34,7 @@ def main():
PLUGINS_KEEP_HIST = int(get_setting_value("PLUGINS_KEEP_HIST"))
HRS_TO_KEEP_NEWDEV = int(get_setting_value("HRS_TO_KEEP_NEWDEV"))
+ HRS_TO_KEEP_OFFDEV = int(get_setting_value("HRS_TO_KEEP_OFFDEV"))
DAYS_TO_KEEP_EVENTS = int(get_setting_value("DAYS_TO_KEEP_EVENTS"))
PHOLUS_DAYS_DATA = get_setting_value("PHOLUS_DAYS_DATA")
CLEAR_NEW_FLAG = get_setting_value("CLEAR_NEW_FLAG")
@@ -42,7 +43,7 @@ def main():
# Execute cleanup/upkeep
- cleanup_database(fullDbPath, DAYS_TO_KEEP_EVENTS, PHOLUS_DAYS_DATA, HRS_TO_KEEP_NEWDEV, PLUGINS_KEEP_HIST, CLEAR_NEW_FLAG)
+ cleanup_database(fullDbPath, DAYS_TO_KEEP_EVENTS, PHOLUS_DAYS_DATA, HRS_TO_KEEP_NEWDEV, HRS_TO_KEEP_OFFDEV, PLUGINS_KEEP_HIST, CLEAR_NEW_FLAG)
mylog('verbose', [f'[{pluginName}] Cleanup complete'])
@@ -51,7 +52,7 @@ def main():
#===============================================================================
# Cleanup / upkeep database
#===============================================================================
-def cleanup_database (dbPath, DAYS_TO_KEEP_EVENTS, PHOLUS_DAYS_DATA, HRS_TO_KEEP_NEWDEV, PLUGINS_KEEP_HIST, CLEAR_NEW_FLAG):
+def cleanup_database (dbPath, DAYS_TO_KEEP_EVENTS, PHOLUS_DAYS_DATA, HRS_TO_KEEP_NEWDEV, HRS_TO_KEEP_OFFDEV, PLUGINS_KEEP_HIST, CLEAR_NEW_FLAG):
"""
Cleaning out old records from the tables that don't need to keep all data.
"""
@@ -143,6 +144,14 @@ def cleanup_database (dbPath, DAYS_TO_KEEP_EVENTS, PHOLUS_DAYS_DATA, HRS_TO_KEEP
query = f"""DELETE FROM Devices WHERE dev_NewDevice = 1 AND dev_FirstConnection < date('now', '-{str(HRS_TO_KEEP_NEWDEV)} hour')"""
mylog('verbose', [f'[{pluginName}] Query: {query} '])
cursor.execute (query)
+
+ # -----------------------------------------------------
+ # Cleanup Offline Devices
+ if HRS_TO_KEEP_OFFDEV != 0:
+ mylog('verbose', [f'[{pluginName}] Devices: Delete all New Devices older than {str(HRS_TO_KEEP_OFFDEV)} hours (HRS_TO_KEEP_OFFDEV setting)'])
+ query = f"""DELETE FROM Devices WHERE dev_PresentLastScan = 0 AND dev_LastConnection < date('now', '-{str(HRS_TO_KEEP_OFFDEV)} hour'))"""
+ mylog('verbose', [f'[{pluginName}] Query: {query} '])
+ cursor.execute (query)
# -----------------------------------------------------
# Clear New Flag
diff --git a/server/initialise.py b/server/initialise.py
index b7fb5ba3..20fd1c3a 100755
--- a/server/initialise.py
+++ b/server/initialise.py
@@ -146,6 +146,7 @@ def importConfigs (db, all_plugins):
conf.REPORT_DASHBOARD_URL = ccd('REPORT_DASHBOARD_URL', 'http://netalertx/' , c_d, 'NetAlertX URL', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General')
conf.DAYS_TO_KEEP_EVENTS = ccd('DAYS_TO_KEEP_EVENTS', 90 , c_d, 'Delete events days', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', '[]', 'General')
conf.HRS_TO_KEEP_NEWDEV = ccd('HRS_TO_KEEP_NEWDEV', 0 , c_d, 'Keep new devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General')
+ conf.HRS_TO_KEEP_OFFDEV = ccd('HRS_TO_KEEP_OFFDEV', 0 , c_d, 'Keep offline devices for', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General')
conf.CLEAR_NEW_FLAG = ccd('CLEAR_NEW_FLAG', 0 , c_d, 'Clear new flag', '{"dataType":"integer", "elements": [{"elementType" : "input", "elementOptions" : [{"type": "number"}] ,"transformers": []}]}', "[]", 'General')
conf.API_CUSTOM_SQL = ccd('API_CUSTOM_SQL', 'SELECT * FROM Devices WHERE dev_PresentLastScan = 0' , c_d, 'Custom endpoint', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [] ,"transformers": []}]}', '[]', 'General')
conf.VERSION = ccd('VERSION', '' , c_d, 'Version', '{"dataType":"string", "elements": [{"elementType" : "input", "elementOptions" : [{ "readonly": "true" }] ,"transformers": []}]}', '', 'General')