Sicherung der Hausautomatisierung

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung der Hausautomatisierung

Beitrag von udo1toni »

Zeig doch mal bitte, was Du konfiguriert hast.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Hallo Udo1toni,

ich poste die gesamten Einstellungen in den nächsten Tagen, da ich im Moment beruflich sehr eingespannt bin.
Bin gespannt wo die Krux liegt.
Vielen Dank im Voraus,
mfg
madmike

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Hallo Udo1toni,
Danke für Deine Unterstützung hier nochmal alle Einträge:

backup.sh:

Code: Alles auswählen

#!/bin/bash


echo `date` Backup wird gestartet >> /var/log/backup.log


sudo dd if=/dev/mmcblk0 of=/dev/sda

echo `time` Backup war erfolgreich >> /var/log/backup.log
Eintrag Visudo:

Code: Alles auswählen

# User privilege specification
root  ALL=(ALL:ALL)  ALL
openhab  ALL=(ALL:ALL) NOPASSWD: /bin/dd/
Thing:

Code: Alles auswählen

Thing exec:command:Backup [ command="/etc/openhab2/scripts/backup.sh", autorun=false ]
Item:

Code: Alles auswählen

Switch Backup  "Backup"  <shield>  {channel="exec:command:Backup:run"}
Sidemap:

Code: Alles auswählen

Frame label="Backup"{
            Switch item=Backup
        }
das sind meine Einträge, langsam verzweifele ich dran ist nicht meine Woche ;-((
LG
Madmike

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung der Hausautomatisierung

Beitrag von udo1toni »

In sudoers musst Du den erlaubten Befehl vom abschließenden Slash befreien.

Code: Alles auswählen

openhab  ALL=(ALL:ALL) NOPASSWD: /bin/dd
Beim Aufruf könnte es notwendig sein, /bin/bash mit voranzustellen:

Code: Alles auswählen

Thing exec:command:Backup [ command="/bin/bash /etc/openhab2/scripts/backup.sh", autorun=false ]
Den Switch würde ich als Button konfigurieren:

Code: Alles auswählen

Frame label="Backup"{
    Switch item=Backup mappings=[ON="GO!"]
}
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Guten morgen Udo1toni,

erstmal wieder vielen Dank für Deine Infos.

Die gute Nachricht ist das das Backup wohl angestossen wird und läuft :D Also super

Aber leider gekomme ich keinen Log Eintrag, die entsprechende Datei ist leer.
Zum anderen habe ich den Eindruck das Programm wird ständig ausgeführt, der Raspi blinkt unentwegt was er sonst nur mal sporadisch machte.
Hast Du eine Idee wie ich das ganze prüfen kann? und wie ich nach erfolgter Ausführung eine Bestätigung in Openhab bekomme ?
mfg
Madmike

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung der Hausautomatisierung

Beitrag von udo1toni »

Da Du den run Channel gekoppelt hast, sollte der eigentlich wieder zurück in die Ausgangsstellung wechseln. Evtl. musst Du dazu messen, wie lange das Script braucht, bis es durchgelaufen ist und diese Zeit als Timeout eintragen.

Du könntest auch ein

Code: Alles auswählen

echo fertig
ans Ende stellen und in openHAB den Output Channel anzeigen. Den müsstest Du dann allerdings zu Beginn des Aufrufs per Rule auf etwas anders setzen (oder etwas experimentieren, vielleicht kann man auch zu Beginn des Scripts schon ein Output an openHAB schicken).

Im Script könntest Du dem dd noch die BlockSize mitgeben:

Code: Alles auswählen

sudo dd if=/dev/mmcblk0 of=/dev/sda bs=1M
setzt eine BlockSize von 1MByte ein, das dürfte den Vorgang erheblich beschleunigen (voreingestellt sind 512 Byte, was auf alten Festplatten der Sektorgröße entspricht, aber auf modernen Systemen den Cache torpediert, mit der Sektorgröße 4k nicht übereinstimmt, und auf SD-Karten noch weniger passt. ;)

Was das logging betrifft, muss zumindest die erste Zeile geschrieben worden sein (vorausgesetzt natürlich, Du hast den Befehl exakt so eingegeben und die Berechtigungen stimmen. Zeig doch mal die Ausgabe von

Code: Alles auswählen

ls -l /var/log/backup.log
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Hallo Udo,

auf den von Dir genannten Befehl kommt folgende Ausgabe:

Code: Alles auswählen

-rw-r--r-- 1 openhabian openhabian 0 Jan 15 20:00 /var/log/backup.log
Sind den die Befehle in der Bash ok ??

mfg
Micha

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Und wie stopp ich den momentanen Befehl ??
bzw gibt es sowas wie einen Taskmanager bei Windows??

mfg
Micha

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: Sicherung der Hausautomatisierung

Beitrag von udo1toni »

Da ist der Fehler. Ich hab das schon mehrfach erwähnt...

Der User, unter dem openHAB läuft, heißt openhab, nicht openhabian. Die Datei muss dem User openhab gehören. Der Befehl hierzu lautet

Code: Alles auswählen

sudo chown openhab: /var/log/backup.log
Du kannst alle laufenden Prozesse mittels ps anzeigen. Allgemein kann man mit

Code: Alles auswählen

ps aux

einfach alle Prozesse anzeigen.
Wenn Du es lieber etwas aufgehübscht haben willst, kannst Du das Paket htop nachinstallieren.

Code: Alles auswählen

sudo apt update && sudo apt install htop

Anschließend kannst Du mit
eine hübsche dynamische Liste aller Prozesse sehen, die mit den Funktionstasten gesteuert werden kann, z.B. kann man die Prozesse als Tree darstellen und anschließend ein- und wieder ausklappen, um mehr Übersicht zu erhalten. Die Liste kann auch nach verschiedenen Kriterien sortiert werden.

Um einen laufenden Prozess zu beenden, gibt es das Kommando kill. Mit ps aux | grep dd findest Du die Prozess ID heraus. Anschließend kannst Du mit sudo kill <Prozess ID> (z.B. sudo kill 1234) diesen Prozess beenden. Natürlich ist die SD-Karte dann in einem kaputten Zustand, aber bei einem erneuten Backup gibt sich das dann ja...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

madmike
Beiträge: 272
Registriert: 15. Apr 2018 17:09

Re: Sicherung der Hausautomatisierung

Beitrag von madmike »

Hallo Udo1toni,

so ich habe die Rechte gemäß Anweisung geändert. Wenn ich das Backup starte wird in die Log-Datei folgender Eintrag gemacht:

Code: Alles auswählen

Mi 23. Jan 19:48:06 CET 2019 Backup wird gestartet
Super soweit ich bin deutlich weiter. Nun ist für mich die Frage wie schaltet sich alles wieder aus, wenn das Backup fertig ist ?
ich habe Eintrag bs=1M entsprechend zugefügt.

Bin mal gespannt was kommt.

mfg
Micha

Antworten