NEWS
BackItUp für InfluxDB
-
@fnolting Bitte zeige deine Settings als JSON von Backitup
-
{ "_id": "system.adapter.backitup.0", "type": "instance", "common": { "name": "backitup", "version": "2.9.8", "title": "BackItUp", "authors": [ "simatec <backitup@simateccloud.de>", "bluefox <dogafox@gmail.com>" ], "osDependencies": { "linux": [ "cifs-utils", "nfs-common" ] }, "docs": { "en": "docs/en/backitup.md", "de": "docs/de/backitup.md" }, "platform": "Javascript/Node.js", "mode": "daemon", "compact": true, "icon": "backitup.png", "materialize": true, "messagebox": true, "stopBeforeUpdate": true, "connectionType": "local", "dataSource": "assumption", "materializeTab": true, "adminTab": { "name": { "en": "Backup", "de": "Backup", "ru": "Назад", "pt": "Backup", "nl": "Versterking", "fr": "Sauvegarde", "it": "Backup", "es": "Copia de seguridad", "pl": "Backup", "uk": "Зареєструватися", "zh-cn": "包装" }, "ignoreConfigUpdate": true, "singleton": false, "fa-icon": "</i><img style='width:24px;margin-bottom:-6px;' src='/adapter/backitup/backitup.svg'><i>" }, "dependencies": [ { "js-controller": ">=4.0.0" } ], "globalDependencies": [ { "admin": ">=6.0.0" } ], "adminUI": { "config": "materialize", "tab": "materialize" }, "enabled": true, "extIcon": "https://raw.githubusercontent.com/simatec/ioBroker.backitup/master/admin/backitup.png", "keywords": [ "Backup", "IoBroker", "Homematic" ], "readme": "https://github.com/simatec/ioBroker.backitup/blob/master/README.md", "loglevel": "info", "type": "general", "license": "MIT", "plugins": { "sentry": { "dsn": "https://e8510540c3a343aa8ce5678a4b3c8107@sentry.iobroker.net/36" } }, "messages": [ { "condition": { "operand": "and", "rules": [ "oldVersion<2.9.0", "newVersion>=2.9.0" ] }, "title": { "en": "Changes for CIFS under Node 20.x.x", "de": "Änderungen für CIFS unter Node 20.x.x", "ru": "Изменения для CIFS под Node 20.x.x", "pt": "Alterações para CIFS em Node 20.x.x", "nl": "Veranderingen voor CIFS onder Node 20.x", "fr": "Changements pour le CIFS sous le no 20.x.x", "it": "Modifiche per CIFS sotto Node 20.x.x", "es": "Cambios para CIFS bajo Nodo 20.x.x", "pl": "Zmiany dla CIFS pod numerem 20.x", "uk": "Зміни для CIFS під Node 20.x.x", "zh-cn": "第20.x号CIFS的变动" }, "text": { "en": "FritzNAS users must enable the \"Cache Loose\" option in the Backitup settings for proper CIFS function under Node 20. Without this option, no backup can be written to the FritzNAS.", "de": "FritzNAS-Benutzer müssen die Option \"Cache Loose\" in den Backitup-Einstellungen für die richtige CIFS-Funktion unter Node 20 aktivieren. Ohne diese Option kann kein Backup auf das FritzNAS geschrieben werden.", "ru": "Пользователи FritzNAS должны включить опцию \"Cache Loose\" в настройках Backitup для правильной функции CIFS под Node 20. Без этого варианта резервное копирование не может быть написано на FritzNAS.", "pt": "Os usuários do FritzNAS devem ativar a opção \"Cache Loose\" nas configurações do Backitup para a função CIFS apropriada sob o Node 20. Sem esta opção, nenhum backup pode ser escrito para o FritzNAS.", "nl": "FritzNAS gebruikers moeten de \"Cache Loose\" optie in de Backitup settings voor goede CIFS-functies onder de 20. Zonder deze optie kan er geen back-up geschreven worden aan de FritzNAS.", "fr": "Les utilisateurs de FritzNAS doivent activer l'option \"Cache Loose\" dans les paramètres de sauvegarde de la fonction CIFS appropriée sous le numéro 20. Sans cette option, aucune sauvegarde ne peut être écrite au FritzNAS.", "it": "Gli utenti di FritzNAS devono abilitare l'opzione \"Cache Loose\" nelle impostazioni di Backitup per una corretta funzione CIFS sotto Node 20. Senza questa opzione, nessun backup può essere scritto al FritzNAS.", "es": "Los usuarios de FritzNAS deben habilitar la opción \"Cache Loose\" en la configuración de Backitup para la función apropiada de CIFS bajo Nodo 20. Sin esta opción, no se puede escribir copia de seguridad al FritzNAS.", "pl": "Użytkownicy FritzNAS muszą umożliwić opcję „Cache Loose” w ustawieniach Backitup dla funkcji CIFS. Bez tej opcji nie można pisać FritzNAS.", "uk": "Користувачі FritzNAS повинні увімкнути параметр \"Cache Loose\" у налаштуваннях Backitup для коректної функції CIFS під Node 20. Без цього варіанту не можна писати на ФрицНАС.", "zh-cn": "FritzNAS用户必须能够使Backitup环境中的“Cache Loose”方案能够正常的CIFS功能。 没有这种选择,就不能向弗朗西斯·弗朗索瓦斯写回来。." }, "level": "warn", "buttons": [ "agree", "cancel" ] } ], "installedVersion": "2.9.8", "host": "hyperion" }, "native": { "minimalEnabled": true, "minimalTime": "02:48", "minimalEveryXDays": "1", "minimalDeleteAfter": "3", "minimalNameSuffix": "", "redisMinimalEnabled": false, "mysqlMinimalEnabled": false, "mysqlQuick": false, "mysqlSingleTransaction": false, "ccuEnabled": false, "ccuTime": "01:36", "ccuEveryXDays": "3", "ccuDeleteAfter": "10", "ccuNameSuffix": "", "ccuHost": "", "ccuUser": "Admin", "ccuPassword": "", "ccuMulti": false, "ccuEvents": [], "ccuUsehttps": false, "ccuSignedCertificates": true, "webdavEnabled": true, "webdavUsername": "fnolting", "webdavPassword": "***", "webdavURL": "https://cloud.***.de/remote.php/dav/files/fnolting/", "webdavDeleteOldBackup": false, "webdavOwnDir": false, "webdavMinimalDir": "/backupDir/iobroker", "webdavCcuDir": "/backupDir/ccu", "webdavDir": "/iobroker-backup", "webdavSignedCertificates": false, "dropboxEnabled": false, "dropboxAccessToken": "", "dropboxAccessJson": "", "dropboxTokenType": "custom", "dropboxCodeChallenge": "", "dropboxDeleteOldBackup": false, "dropboxOwnDir": false, "dropboxMinimalDir": "/backupDir/iobroker", "dropboxCcuDir": "/backupDir/ccu", "dropboxDir": "/backupDir", "onedriveEnabled": false, "onedriveAccessJson": "", "onedriveLastTokenRenew": "", "onedriveDeleteOldBackup": false, "onedriveOwnDir": false, "onedriveMinimalDir": "backupDir/iobroker", "onedriveCcuDir": "backupDir/ccu", "onedriveDir": "backupDir", "googledriveEnabled": false, "googledriveAccessTokens": "", "googledriveDeleteOldBackup": false, "googledriveOwnDir": false, "googledriveMinimalDir": "/backupDir/iobroker", "googledriveCcuDir": "/backupDir/ccu", "googledriveDir": "/backupDir", "mySqlEnabled": false, "mySqlHost": "localhost", "mySqlPort": "3306", "mySqlName": "iobroker", "mySqlUser": "", "mySqlPassword": "", "mySqlDeleteAfter": 5, "mySqlDumpExe": "", "mySqlMulti": false, "mySqlEvents": [], "influxDBEnabled": true, "influxDBHost": "home.***.de", "influxDBPort": "8086", "influxDBName": "rpi", "influxDBDumpExe": "", "influxDBDeleteAfter": 5, "influxDBType": "local", "influxDBToken": "XXB7fP-***Ffdw==", "influxDBVersion": "2.x", "influxDBProtocol": "https", "influxDBMulti": true, "influxDBEvents": [ { "host": "", "port": "8086", "dbName": "rpi", "nameSuffix": "rpi", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "battery", "nameSuffix": "battery", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "grid", "nameSuffix": "grid", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "solar", "nameSuffix": "solar", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "solar.forecast", "nameSuffix": "solar.forecast", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "weather.current", "nameSuffix": "weather.current", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" }, { "host": "", "port": "8086", "dbName": "weather.forecast", "nameSuffix": "weather.forecast", "token": "XXB7fP-***Ffdw==", "protocol": "https", "dbversion": "2.x" } ], "deleteOldDataBase": false, "grafanaEnabled": true, "grafanaHost": "home.florian-nolting.de", "grafanaPort": "8445", "grafanaUsername": "fnolting", "grafanaPassword": "\"gD\b^X\u0001\u0004\u0004\u0000sXB", "grafanaApiKey": "glsa_xYZKYD7KiAzLdlqcf5FXXwdkuojPtWnA_9560ff70", "grafanaProtocol": "https", "grafanaSignedCertificates": true, "pgSqlHost": "", "pgSqlPort": "5432", "pgSqlName": "", "pgSqlUser": "", "pgSqlPassword": "", "pgSqlDeleteAfter": 5, "pgSqlDumpExe": "", "pgSqlEnabled": false, "pgSqlMulti": false, "pgSqlEvents": [], "cifsEnabled": false, "cifsMount": "", "cifsUser": "", "cifsPassword": "", "cifsOwnDir": false, "cifsDomain": "", "cifsDir": "sharename/backupDir", "cifsCcuDir": "sharename/backupDir", "cifsMinimalDir": "sharename/backupDir", "cifsDeleteOldBackup": false, "connectType": "NFS", "smbType": "vers=3.1.1", "sudoMount": true, "noserverino": false, "cacheLoose": false, "wakeOnLAN": false, "macAd": "20:DE:20:DE:20:DE", "wolWait": "25", "wolPort": "9", "wolExtra": false, "ftpEnabled": false, "ftpHost": "", "ftpPort": "21", "ftpSecure": false, "ftpSignedCertificates": true, "ftpDir": "/backupDir", "ftpUser": "", "ftpPassword": "", "ftpOwnDir": false, "ftpCcuDir": "/backupDir/ccu", "ftpMinimalDir": "/backupDir/iobroker", "ftpDeleteOldBackup": false, "redisEnabled": false, "redisPath": "/var/lib/redis", "redisType": "local", "redisHost": "", "redisPort": "6379", "redisUser": "", "redisPassword": "", "redisAOFactive": false, "historyEnabled": false, "historyPath": "media/usb/history", "javascriptsEnabled": false, "zigbeeEnabled": false, "esphomeEnabled": false, "yahkaEnabled": false, "jarvisEnabled": false, "notificationEnabled": false, "notificationsType": "Telegram", "telegramInstance": "", "telegramNoticeType": "longTelegramNotice", "telegramUser": "none", "telegramSilentNotice": false, "telegramOnlyError": false, "telegramWaitToSend": "0", "whatsappInstance": "", "whatsappNoticeType": "longWhatsappNotice", "whatsappOnlyError": false, "whatsappWaitToSend": "0", "gotifyInstance": "", "gotifyNoticeType": "longGotifyNotice", "gotifyOnlyError": false, "gotifyWaitToSend": "0", "signalInstance": "", "signalNoticeType": "longSignalNotice", "signalOnlyError": false, "signalWaitToSend": "0", "matrixInstance": "", "matrixNoticeType": "longMatrixNotice", "matrixOnlyError": false, "matrixWaitToSend": "0", "discordInstance": "", "discordNoticeType": null, "discordOnlyError": false, "discordWaitToSend": "0", "discordTarget": "", "pushoverInstance": "", "pushoverNoticeType": "longPushoverNotice", "pushoverSilentNotice": false, "pushoverDeviceID": "", "pushoverOnlyError": false, "pushoverWaitToSend": "0", "emailReceiver": "xxx@xxx.com", "emailSender": "xxx@xxx.com", "emailInstance": "", "emailNoticeType": "longEmailNotice", "emailOnlyError": false, "emailWaitToSend": "0", "debugLevel": false, "sentry_enable": true, "historyEntriesNumber": "25", "restoreSource": "local", "startAllRestore": false, "hostType": "Single", "slaveInstance": [], "slaveNameSuffix": "", "stopSlaveAfter": false, "ignoreErrors": false, "restoreTab": false, "noderedEnabled": false, "sqliteEnabled": false, "sqlitePath": "/opt/sqlite/data.db", "sqliteDumpExe": "", "zigbee2mqttPath": "/opt/zigbee2mqtt/data", "zigbee2mqttEnabled": false, "fileSizeError": "512", "fileSizeWarning": "1024" }, "from": "system.host.hyperion.cli", "ts": 1706368328322, "protectedNative": [], "encryptedNative": [], "notifications": [], "instanceObjects": [ { "_id": "info", "type": "channel", "common": { "name": "Information" }, "native": {} }, { "_id": "info.latestBackup", "type": "state", "common": { "role": "state", "name": "Latest backup found by start", "type": "json", "read": true, "write": false }, "native": {} }, { "_id": "info.ccuNextTime", "type": "state", "common": { "role": "state", "name": "Next CCU backup", "type": "string", "read": true, "write": false, "def": "none" }, "native": {} }, { "_id": "info.iobrokerNextTime", "type": "state", "common": { "role": "state", "name": "Next iobroker backup", "type": "string", "read": true, "write": false, "def": "none" }, "native": {} }, { "_id": "history", "type": "channel", "common": { "name": "History Logs" }, "native": {} }, { "_id": "history.html", "type": "state", "common": { "role": "html", "name": "History-Log of executed backups", "type": "string", "read": true, "write": false, "def": "No backups yet" }, "native": {} }, { "_id": "history.json", "type": "state", "common": { "role": "state", "name": "History-Log of executed backups", "type": "json", "read": true, "write": false, "def": "[]" }, "native": {} }, { "_id": "history.ccuLastTime", "type": "state", "common": { "role": "state", "name": "Last CCU backup", "type": "string", "read": true, "write": false, "def": "No backups yet" }, "native": {} }, { "_id": "history.iobrokerLastTime", "type": "state", "common": { "role": "state", "name": "Last iobroker backup", "type": "string", "read": true, "write": false, "def": "No backups yet" }, "native": {} }, { "_id": "history.ccuSuccess", "type": "state", "common": { "role": "switch", "name": "Last ccu backup Success", "type": "boolean", "read": true, "write": true, "def": false }, "native": {} }, { "_id": "history.iobrokerSuccess", "type": "state", "common": { "role": "switch", "name": "Last iobroker backup Success", "type": "boolean", "read": true, "write": true, "def": false }, "native": {} }, { "_id": "oneClick", "type": "channel", "common": { "name": "OneClick Buttons" }, "native": {} }, { "_id": "oneClick.ccu", "type": "state", "common": { "role": "switch", "name": "Execute CCU backup", "type": "boolean", "read": true, "write": true, "def": false }, "native": {} }, { "_id": "oneClick.iobroker", "type": "state", "common": { "role": "switch", "name": "Execute iobroker backup", "type": "boolean", "read": true, "write": true, "def": false }, "native": {} }, { "_id": "output", "type": "channel", "common": { "name": "Output states" }, "native": {} }, { "_id": "output.line", "type": "state", "common": { "role": "state", "name": "Used for debug outputs", "type": "string", "read": true, "write": false, "def": "" }, "native": {} } ], "objects": [], "acl": { "object": 1636, "state": 1636, "file": 1632, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "user": "system.user.admin" }
Die Token in den Einträgen der
influxDBEvents
habe ich nachträglich eingefügt, da ursprünglich der Token nur global in der VariableinfluxDBToken
stand.Ohne die zusätzlichen Token hat BackItUp versucht
influx backup --bucket battery -t "/opt/iobroker/backups/influxDB_2024_01_28-10_29_29_battery_backupiobroker"
auszuführen, was auch auf der Konsole nicht funktioniert:Error: backup path must be specified as a single positional argument
@Marc-Berg mea culpa, ich gelobe Besserung
-
@fnolting Was mir direkt auffällt…. Du nutzt die Funktion mehrerer Datenbanken und hast bei keiner einen Host eingetragen.
-
@simatec
Werden die globalen Variablen für Host, Port und Token bei einerinfluxDBMulti
config auf alleinfluxDBEvents
vererbt und die Werte in den einzelnen Events sind nur als Override gedacht oder muss man sie in jedem Event eintragen? Habe jedenfalls den Host überall ergänzt (als FQDN) mit dem gleichen Ergebnis:Error: API compatibility check failed: 400 Bad Request: unable to decode response content type ""
-
@fnolting Stelle in den Influx Einstellungen von Backitup von local auf Remote
-
@simatec
Super, das war - jetzt rennt das Influx Backup. Danke!Bei Grafana hakt es leider noch. Ab Grafana v9.1 gibt es ja keine API-Keys mehr sondern Service Accounts. Ich habe einen sa.backup erstellt und einen Key mit Adminrechten und unbegrenzter Gültigkeit erstellt. Dieser Service-User hat aber kein Passwort - ich habe jetzt versucht den Key beim Passwort und beim Token einzugeben, aber leider schlägt das Grafana Backup fehl.
2024-01-28 20:39:48.443 error [iobroker/grafana] Error on Grafana Datasource Request 2024-01-28 20:39:48.870 error [iobroker/grafana] cannot found Grafana Backup files 2024-01-28 20:40:00.802 error [iobroker/clean] Backup files not deleted from /opt/iobroker/backups because some errors.
-
@fnolting Nimm den normalen Admin mit Passwort und einen Servicetoken mit Adminrechten
-
@simatec
Danke, jetzt läuft das Backup durch! -
Hallo simatec,
ich habe ein massives Problem mit backitup und dem Backup von influxdb und grafana.
Zunächst, das restore eines Backups von iobroker und javascripts hat problemlos geklappt.
Versuche ich aber das auf der NAS vorhandene backup von influxdb oder grafana von der NAS zu restore startet das Ganze zwar, bleibt aber dann offensichtlich endlos mit dem screen
hängen. Es tut sich rein gar nichts mehr, nur der Laufbalken oben läuft.Der Versuch in backitup das file erste einmal durch einen download local zu bekommen, gelingt auch nicht, der download startet zwar, aber es ist kein Fortschritt zu sehen, auch erscheint das file nicht unter "local":
Nur links unten pumpt (stark blau zu schwach blau usw.) die Ausschrift "Download ist gestartet". Aber es geschieht offensichtlich nichts:
Was ist zu tun? Kannst Du mir einen Tipp geben?
Viele Grüße und Dank im Voraus, jahnbes. -
@jahnbes
Einen workaround habe ich vielleicht gefunden. Offensichtlich funktioniert nur das downloaden nicht. ich habe die beiden backupfiles (influxdb und grafana) von der NAS auf den PC und von dort mit Filezilla auf den Raspberry kopiert.
Dann im iobroker von "local" restored und das ging!
Hast Du eine Idee, was da los ist?
Viele Grüße, jahnbes. -
@jahnbes sagte in BackItUp für InfluxDB:
ich habe die beiden backupfiles (influxdb und grafana) von der NAS
Und wie wird das NAS in den ioBroker eingebunden? NFS? CIFS? FTP? Irgendwas anderes?
-
@thomas-braun
Wie, ich schrieb, ich habe die Synology mit FTP im Backitup-Adapter eingebunden.
Danke für Deine Reaktion, ich weiß zwar immer noch nicht, warum der übliche Weg nicht geklappt hat, da aber das workaround mit der Kopie der gewünschten Files mittels FileZilla (FTP) problemlos geklappt hat und hoffentlich auch weiter klappen wird, habe ich momentan keine Veranlassung, weiter nachzuforschen.
Viele Grüße, jahnbes. -
Ich würde das ja gescheit haben wollen. Also entweder per NFS oder CIFS nach /opt/iobroker/backups gemounted. Jenachdem was das NAS kann.
-
@thomas-braun
Hallo,ich denke, das ist alles schon gescheit, denn die Backups vom iobroker selbst, die von javascripts und zigbee werden ja problemlos restored, nur die von Grafana und InfluxDB machen Probleme. Ob es daran liegt, dass das eigentlich Systeme sind, die außerhalb des iobroker arbeiten, extra in Raspberry Pi OS installiert wurden?
Ob bei diesen "externen" was mit den Zugriffsrechten nicht stimmt?
Viele Grüße, jahnbes. -
Eine richtig eingehängte CIFS oder besser noch NFS-Freigabe macht keine Probleme mit den Rechten, weil dann das Backup ganz stumpf in den Mountpunkt erfolgt. Das wäre aus meiner Sicht gescheit.
-
Hi,
habe noch eine Frage zu Backitup:
Ich habe bei Github in der Anleitung für Backitup folgendes gelesen:
"Wer nicht nur eine Datenbank sichern will, kann die Option "Sicherung mehrerer Systeme" aktivieren und im Anschluss seine Datenbanken in der Tabelle definieren."
Jetzt meine Frage dazu: Was muss ich genau eintragen, weil ich einen Fehler bekomme.
Bei mir ist es so, ich habe eine Hauptdatenbank, wo ich die Daten aus dem iobroker rein schreibe.
Bei Influx selber aggregiere ich die Daten so, wie ich sie haben will und schreibe diese Daten dann in einen anderen Bucket.
Diese Buckets wollte ich mit dem Backitup Adapter auch sichern.
Geht das ?Zur Zeit läuft mein Backitup Adapter in der Nacht und führt die Sicherung mit der Hauptdatenbank iobrokerInflux ohne Fehler aus.
Wenn ich jetzt "Sicherung mehrere System" ankreuze, bekomme ich eine Fehlermeldung. Gesichert wird bei mir über FTP auf meiner Synology.
2024-07-15 09:38:32.006 - error: backitup.0 (1945128) [iobroker/influxDB] Error: Command failed: influx backup --bucket iobrokerInflux -t /ioBroker/BackupDaten "/opt/iobroker/backups/influxDB_2024_07_15-09_38_31_influxDB_iobrokerInflux_backupiobroker" 2024-07-15 09:38:32.007 - error: backitup.0 (1945128) [iobroker/influxDB] 2024/07/15 09:38:31 INFO: Downloading metadata snapshot 2024-07-15 09:38:32.008 - error: backitup.0 (1945128) [iobroker/influxDB] Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: unauthorized access 2024-07-15 09:38:32.009 - error: backitup.0 (1945128) [iobroker] Error: Command failed: influx backup --bucket iobrokerInflux -t /ioBroker/BackupDaten "/opt/iobroker/backups/influxDB_2024_07_15-09_38_31_influxDB_iobrokerInflux_backupiobroker" 2024/07/15 09:38:31 INFO: Downloading metadata snapshot Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: unauthorized access 2024-07-15 09:38:40.490 - error: backitup.0 (1945128) [iobroker/ftp] File "/opt/iobroker/backups/influxDB_2024_07_15-09_38_31_influxDB_iobrokerInflux_backupiobroker.tar.gz" not found 2024-07-15 09:38:41.414 - error: backitup.0 (1945128) [iobroker/clean] Backup files not deleted from /opt/iobroker/backups because some errors.
Das Verzeichnis /iobroker/BackupDaten befindet sich auf meiner NAS.
Was muss ich den jetzt anders einstellen?
So habe ich es bei Backitup eingestellt.
-
@kapitaen31 Dein Token ist nicht korrekt
-
@simatec said in BackItUp für InfluxDB:
@kapitaen31 Dein Token ist nicht korrekt
Jetzt funktioniert es. Der Token war falsch...
Danke...