Logfile wird nicht mehr beschrieben..

Begonnen von misux, 27 Dezember 2021, 01:41:56

Vorheriges Thema - Nächstes Thema

Otto123

dem steht ja nichts im Wege. User fhem kann doch auch "automatisch" mounten. Einfacher Ablauf:
mount (dabei Prüfung ob das funktioniert hat, das Laufwerk verfügbar ist)
backup
unmount

Wie ist es denn nun gemountet?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

alanblack

@Otto: A la...

#!/bin/bash
mount|grep nas 2>/dev/null
if [ "$?" -eq 1 ]; then
  mount -t cifs -o username=<user,password=<pw> //<ziel> /mnt/nas
  sleep 10
fi

[backup]

umount -lv /mnt/nas

??

Grüße
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Otto123

#32
Hallo alanblack,

ich sage mal nein, weil der "spontane" mount Befehl in deinem Beispiel funktioniert mMn nur als root / sudo - das muss nicht sein.
Es sollte besser über die fstab geschehen!
Ich verwende ein Script in der Art:
#!/bin/bash
url='8083'
qpath=$1
dpath=$2
LOG=./backupFhem.log
# check if fhemcl exists
file="fhemcl.sh"
fhemcl="./$file"
if [ ! -e $fhemcl ]
then
    echo "$file is missing"
    wget -O $fhemcl https://raw.githubusercontent.com/heinz-otto/fhemcl/master/$file
    chmod +x $fhemcl
fi
#
{
date
# mount, sync
if mount "$dpath"
then
    # only piping works inside crontab
    echo "set BackupFhem gestartet"|$fhemcl $url
    if rsync -rut ${qpath}/backup ${qpath}/restoreDir ${dpath}/fhem/$(hostname)
    then
       echo "set BackupFhem gesichert"|$fhemcl $url
    else
       echo "set BackupFhem RsyncError"|$fhemcl $url
    fi
    umount "$dpath"
else
    echo "set BackupFhem MountError"|$fhemcl $url
fi
} >> $LOG 2>&1

Der Aufruf erfolgt z.B. mit dem FHEM Befehl "bash backupFhem.sh . /mnt/Sicherung"
Das Skript läuft nicht blockierend und meldet Zustände an FHEM. Ich mache vorher FHEM backup lokal und schreibe die Sicherungsdateien auf den Server weg - quasi indirekt. Kann man aber auch direkt mit FHEM backup machen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

alanblack

Zitat von: Otto123 am 30 März 2022, 23:58:43
Hallo alanblack,

ich sage mal nein, weil der "spontane" mount Befehl in deinem Beispiel funktioniert mMn nur als root / sudo - das muss nicht sein.
Es sollte besser über die fstab geschehen!
Ich verwende ein Script in der Art:
[...]
Der Aufruf erfolgt z.B. mit dem FHEM Befehl "bash backupFhem.sh . /mnt/Sicherung"
Da ich dieses Skript über cron laufen lasse, habe ich kein Problem mit sudo. Zudem sichere ich
zu FHEM gleich noch anderes weg, was als User fhem nicht ginge.
Den mount mache ich nicht über fstab, weil ich dann nicht dauerhaft eine aktive Verbindung
zum Sicherungserver aufrecht erhalten muss, die mMn eine unnötige Sicherheitslücke
darstellt.
Und wenn fhem aus welchen Gründen auch immer nicht läuft, habe ich trotzdem ein Backup.

Grüße
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Otto123

Zitat von: alanblack am 31 März 2022, 07:16:30
Den mount mache ich nicht über fstab, weil ich dann nicht dauerhaft eine aktive Verbindung
zum Sicherungserver aufrecht erhalten muss, die mMn eine unnötige Sicherheitslücke
darstellt.
Moin,
der mount an sich, wird ja nicht durch bloßen Eintrag in die fstab ausgeführt, da irrst Du. Durch einen entsprechenden Eintrag in der fstab wird noch nicht gemounted. Wie das funktioniert hatte ich hier mal aufgeschrieben.
Dein Sicherheitsproblem ist: das jetzt die Konto Daten direkt script stehen  ;). Das pflegt sich schlecht :) und führt meist zu nachlässigem Umgang.

Wie Du in meinem Script siehst, wird der mount im Script ausgeführt, in der fstab steht nur wie es geht.  ;) Ich halte auch nichts von einer ständigen Verbindung zum Sicherungsserver.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Ich habe bei mir auch ein mount im Backup, allerdings sind das auch USB-Platten. Da es verschiedene sind, konnte ich nichts in fstab eintragen.

Auf jedem Falle sollte man aber nach dem mount den "Fehler-Code" Abfragen. Es kann immer zu Problemen kommen (Warum auch immer).

Wenn Du es per CRON-Job startest, warum dann mit User fhem?
- 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

DocCyber

Zitat von: Otto123 am 27 März 2022, 14:09:45
Also der Eintrag:
attr global logfile ./log/fhem-%Y-%m.log
und die Definition
defmod Logfile FileLog ./log/fhem-%Y-%m.log Logfile
gehören quasi zusammen ;)

Ich hatte deinen Hinweis zunächst überlesen, aber es nun so geändert, so wie du es beschrieben hattest.
Jetzt funktioniert auch das Schreiben ins (globale) Logfile wieder. :)

Aber wieso muss man in diesem Fall an zwei Stellen ändern? Ist doch sonst in fhem nirgendwo üblich.  ???

Danke für deine Hilfe, @otto123   :)
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-3 mit HM-CFG-LAN und jede Menge HM Komponenten.