NEWS
BackItUp für InfluxDB
-
@mike-hellracer sagte in BackItUp für InfluxDB:
Wie bekomme ich denn das REPO in den Container?
Im Moment aus meiner Sicht am saubersten, indem du die Beta: "buanet/iobroker:v8.1.0-beta.2" installierst und als Umgebungvariable
PACKAGES=influxdb2-cli
setzt. Damit wird das Repo gesetzt und gleichzeitig der Influx-Client installiert. Was willst du denn erreichen?
-
@marc-berg
eigentlich genau das.
und ich habe noch ein Problem mit dem NAS mount.
habe die Einstellungen aus einer physikalischen Instanz (bei der es geht) kopiert und bekomme in der Docker Instanz gesagt "mount failed"
Brauche ich da evtl. auch noch ein Paket?
Sorry, Screenshot vergessen
-
@mike-hellracer sagte in BackItUp für InfluxDB:
Brauche ich da evtl. auch noch ein Paket?
Ja, wahrscheinlich "cifs-utils". Also die Umgebungsvariable "PACKAGES" entsprechend ergänzen (mit Leerzeichen getrennt).
-
@marc-berg said in BackItUp für InfluxDB:
cifs-utils
cift-utils is allready installed
ok, gibt es schon einen Termin wann beta -> latest wird? -
@mike-hellracer sagte in BackItUp für InfluxDB:
ok, gibt es schon einen Termin wann beta -> latest wird?
Ich sag' mal so: je mehr mittesten, umso früher ...
-
@marc-berg
schon gut ich habe das repo gerade umgestellt
aber der cifs mount geht leider immer noch nicht.
wei gesagt 1:1 von einer physischen Instanz kopiert -
@marc-berg
influxdb2-cli ist installiert und als Pfad habe ich /usr/bin/influx gesetzt.
Leider bekomme ich immer noch einen Error
-
@mike-hellracer was sagt das Docker-Log auf der Console (fängt so an:)
-------------------------------------------------------------------------------- ------------------------- 2023-05-28 09:38:14 ------------------------- -------------------------------------------------------------------------------- ----- ----- ----- ██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗ ███████╗ ██████╗ ----- ----- ██║ ██╔═══██╗ ██╔══██╗ ██╔══██╗ ██╔═══██╗ ██║ ██╔╝ ██╔════╝ ██╔══██╗ ----- ----- ██║ ██║ ██║ ██████╔╝ ██████╔╝ ██║ ██║ █████╔╝ █████╗ ██████╔╝ ----- ----- ██║ ██║ ██║ ██╔══██╗ ██╔══██╗ ██║ ██║ ██╔═██╗ ██╔══╝ ██╔══██╗ ----- ----- ██║ ╚██████╔╝ ██████╔╝ ██║ ██║ ╚██████╔╝ ██║ ██╗ ███████╗ ██║ ██║ ----- ----- ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝ ----- ----- ----- ----- Welcome to your ioBroker Docker container! ----- ----- Startupscript is now running! ----- ----- Please be patient! ----- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ----- System Information ----- ----- arch: x86_64 -----
-
@marc-berg
das sieht eigentlich ok aus. cifs-util habe ich wieder aus den Packages raus genommen, da es schon standard installiert ist.
hier mein Start Log (Docker Swarm) -
kannst du den Befehl
"/usr/bin/influx" backup --bucket iobroker --host http://influxdb:8086 -t <MEIN Token> "/opt/iobroker/backups/influxDB_2023_07_03-18_54_14_backupiobroker"
mal im Container auf der Kommandozeile ausführen? Vielleicht bekommt man da eine sprechendere Fehlermeldung.
-
Hi, bekomme dann ein auth fehler, aber ich verstehe nicht warum. Es sind dieselben Einstellungen server, token, etc. Muss ich auf dem influx Container noch etwas machen
2023/07/03 21:21:48 INFO: Downloading metadata snapshot
Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: read:authorizations is unauthorized -
@mike-hellracer sagte in BackItUp für InfluxDB:
Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: read:authorizations is unauthorized
Nein, das hat mit Container nichts zu tun. Hier ist der Token falsch. Hast du alles doppelt gecheckt? Kannst du denn den Befehl 1:1 auf der physikalischen Instanz ausführen?
-
@marc-berg
nein, da bekomme ich denselben Fehler.
habe jetzt ein neues Token erstellt.
selbes Ergebnis.
Was kann ich noch tun? -
@mike-hellracer sagte in BackItUp für InfluxDB:
nein, da bekomme ich denselben Fehler.
habe jetzt ein neues Token erstellt.
selbes Ergebnis.
Was kann ich noch tun?Jegliche Tokens, die über die Oberfläche erstellt werden, haben nicht die ausreichenden Berechtigungen.
https://forum.iobroker.net/post/1006699
https://forum.iobroker.net/post/1006158 -
@marc-berg
super, das war es. Danke
Kann ich den Token über die Environment Variable ändern?
DOCKER_INFLUXDB_INIT_ADMIN_TOKEN -
@mike-hellracer sagte in BackItUp für InfluxDB:
Kann ich den Token über die Environment Variable ändern?
DOCKER_INFLUXDB_INIT_ADMIN_TOKENDiese Variable greift nur beim ersten Start der InfluxDB, deshalb auch "INIT". So kann man einen benutzerdefinierten Admin-Token generieren.
Also: nein, ändern geht nicht.
-
Das Backup meiner InfluxDB Buckets schlägt fehl:
Wenn ich das command manuell in der shell ausführe, funktioniert es aber:
Ich habe TLS aktiviert und auch die entsprechenden Anpassungen (url in der ~/.influxdbv2/configs) vorgenommen. Der Token ist auch der root-Token, auch wenn ich davon ausgegangen wäre, dass ein nachträglich erstellter "all-access-token" eigentlich auch Access für die Erstellung der Backups haben sollte..?! Aber es muss anscheinend der root-Token von der initialen Installation sein.
Warum funktioniert es manuell, aber nicht im automatischen Backup-Prozess?
-
@fnolting sagte in BackItUp für InfluxDB:
Warum funktioniert es manuell, aber nicht im automatischen Backup-Prozess?
Bitte keine (abgeschnittenen) Bilder, sondern den kompletten Text in Code Tags posten.
-
@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