[configDB] neuer Befehl 'configdb dump' verfügbar

Begonnen von betateilchen, 22 Mai 2016, 18:50:33

Vorheriges Thema - Nächstes Thema

amenomade

#60
Ich weiss nicht genau, wie Du dein MySQL konfiguriert hast, aber eher auf dem Client Server, der mysqldump startet, und diese Option braucht. In dem Fall der Fhem Server.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

amenomade

Zitat von: Wernieman am 29 Juni 2020, 17:13:35
Im Home-Verzeichnis von FHEM
Dann aber mit einem Punkt vor dem Dateiname:
.my.cnf

Das wäre wenn man das User-spezifisch will, und zwar nur für den User "fhem".
/etc/my.cnf bzw /etc/mysql/my.cnf geht aber auch. Dann System weit.

Doku:
ZitatTable 4.2 Option Files Read on Unix and Unix-Like Systems

File Name                Purpose
--------------------------------------------------------
/etc/my.cnf                    Global options
/etc/mysql/my.cnf           Global options
SYSCONFDIR/my.cnf        Global options
defaults-extra-file           The file specified with --defaults-extra-file, if any
~/.my.cnf                   User-specific options
~/.mylogin.cnf            User-specific login path options (clients only)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

configdb attr mysqldump --column-statistics=0

Ab dem morgigen Update.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TWART016

Ich hatte folgendes in die Datei hinzugefügt /etc/mysql/my.cnf
[mysqldump]
column-statistics=0

Hat super funktioniert.

Zitat von: betateilchen am 29 Juni 2020, 18:47:10
configdb attr mysqldump --column-statistics=0

Ab dem morgigen Update.
Vielen Dank. Werde ich testen.


betateilchen

Man könnte den dump natürlich auch einfach per cronjob auf Betriebssystemebene ausführen, dann kann man Parameter angeben, soviele man will.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TWART016

Zitat von: betateilchen am 29 Juni 2020, 19:04:07
Man könnte den dump natürlich auch einfach per cronjob auf Betriebssystemebene ausführen, dann kann man Parameter angeben, soviele man will.

Habe das jetzt so ein einem at gelöst
{system ('sudo mysqldump -h 192.168.178.15 -P 33061 --user=fhemuser --password=fhempassword --column-statistics=0 -Q fhem-config > /backup/dump_`date +"%Y-%m-%d_%H-%M-%S"`.sql')}

Muss das Zielverzeichnis zwingend chmod 777 haben?

amenomade

?? Das hat aber wenig Sinn, über ein at mit einem Systembefehl, das Dump zu machen, wenn es das Kommando in Fhem gibt!

- Entweder machst Du es auf Fhem-Ebene, dann ein at mit configdb dump (betateilchen hat dir sogar das configdb attr für zusätzliche mysqldump Parameter entwickelt)

- Oder Du machst es auf System-Ebene, dann ein cronjob in deiner crontab, wie er geschrieben hat

Aber dein jetziges Konstrukt... :o :o ???

Zu deine Frage:
ZitatMuss das Zielverzeichnis zwingend chmod 777 haben?
Nein, da Du sudo benutzt. Aber damit dein Konstrukt funktionieren kann, muss der fhem User sudoer sein (und bitte nicht mit ALL=(ALL) NOPASSWD:ALL ), und vermutlich noch ein shell haben.

Meine Empfehlung, wenn Du nicht wirklich davon weisst: keep it simple. Nach einem update ab 8 Uhr heute:
configdb attr mysqldump --column-statistics=0
define <name> at <timespec> configdb dump

und Schluß.

PS: falls Du doch weiter aussehalb Fhem dein Backup der DB machen willst und Hilfe brauchst, dann vielleicht in einem anderen Thread, da es gar nichts mehr mit configb dump zu tun hat.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

betateilchen

Zitat von: amenomade am 30 Juni 2020, 02:31:33
Das hat aber wenig Sinn, über ein at mit einem Systembefehl, das Dump zu machen, wenn es das Kommando in Fhem gibt!

Naja, der Befehlt "configdb dump" macht auch nix anderes, als einen Befehl zusammenzubauen und an das Betriebssystem zu übergeben. Insofern ist es egal.

Damit wir uns hier nun nicht weiter verzetteln, mache ich den Thread vorläufig mal zu.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!