FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Hauswart am 18 Juni 2015, 20:11:05

Titel: Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Hauswart am 18 Juni 2015, 20:11:05
Hallo,

ich habe gesucht aber leider keine Lösung gefunden.

Ich habe einen USB vfat formatiert und via fstab eingebunden:
/dev/sda1 /mnt/usb vfat defaults 0 3

Das Verzeichnis usb habe ich davor mit sudo mkdir usb erstellt. Soweit alles in Ordnung. Anschliessend habe ich mit cd /mnt/usb
sudo mkdir log

erstellt.

Reboot und Zugriff auf den USB funktioniert. Also als Log-Pfad verwenden - dachte ich. :)

Also Pfad von eine FileLog geändert in: /mnt/usb/log/fhem-%Y-%m.log fakelog

Ergebnis:
Can't open /mnt/usb/log/fhem-2015-06.log: Keine Berechtigung

ls -la /mnt/usb
drwxr-xr-x 2 root root 4096 Jun 18 19:57 log

Nur ich habe schon diverses ausprobiert, bekomme es aber nicht richtig von den Rechten hin, dass FHEM auf das Verzeichnis schreiben darf.
Es wird wohl nur eine Kleinigkeit sein, die ich übersehe.
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Wernieman am 19 Juni 2015, 19:41:54
Kurzgefasst:
vfat wird standartmäßig nur mit root als lesenden Zugriff eingebunden. Lies Dir mal die man page bezüglich mounten durchlesen ...
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: ostseehuepfer am 24 Juni 2015, 11:53:30
Moin,

ich hab den Stick Fat32 formatiert. Er hat ihn ja auch sauber eingebunden. Konnte ja die Daten sehen auf dem Stick. Nur schreibt Fhem nicht darauf..
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Bartimaus am 24 Juni 2015, 12:11:33
Verschiebe den Ordner /log auf den USB-Stick. Beim verschieben wandern die Rechte mit.
Danach legst Du an die ursprüngliche Stelle eine symbolische Verknüpfung zu dem neuen Pfad. Fertig.
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Hauswart am 24 Juni 2015, 12:21:12
Ich glaube meine Lösung müsste sein:
/etc/fstab/
/dev/sda1 /mnt/usb vfat defaults,umask=000 0 3

Das umask=000 macht das Dateisystem für alle Benutzer schreibbar, standardmässig wird bei vfat ein umask=022 eingetragen.

Quellen:
https://wiki.ubuntuusers.de/fstab
https://wiki.ubuntuusers.de/mount#Windows-Dateisysteme
https://wiki.ubuntuusers.de/Rechte#Standard-Einstellung-und-Maskierung


Edit: Das war die Lösung :)

Edit2: Zur Vervollständigung:
sudo mv /opt/fhem/log /mnt/usb/
sudo ls -s /mnt/usb/log /opt/fhem/log
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Bartimaus am 24 Juni 2015, 12:50:18
Siehste, geht doch  ;D
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Hauswart am 24 Juni 2015, 12:51:31
Zitat von: Bartimaus am 24 Juni 2015, 12:50:18
Siehste, geht doch  ;D
Der Knackpunkt war jedoch das umask  :P 8)

Endlich die FHEM-Logs auf dem USB-Stick  ::)
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: ostseehuepfer am 24 Juni 2015, 13:06:36
Danke hab meinen Eintrag in der fstab angepasst. Danach läuft es sofort.... Auch der FTP Server hat direkten Zugriff darauf.

Eine Frage hab ich noch: Beim Start von Fhem meldet er immer folgendes:

Starting fhem...
Backslash found where operator expected at ./FHEM/99_myUtils.pm line 7, near "media\"
Backslash found where operator expected at ./FHEM/99_myUtils.pm line 7, near "usbstick\"
root@fhem-srv:~# Backslash found where operator expected at ./FHEM/99_myUtils.pm line 7, near "media\"
Backslash found where operator expected at ./FHEM/99_myUtils.pm line 7, near "usbstick\"

hab ich da etwas falsches gemacht? Das Backup welches das Script machen soll macht er ohne Probleme?!

In der Datei steht folgendes:

#########################################################################
## Funktion......: FHEM Backup
## Besonderheiten: Anzeige der vorhandenen Backups im dummy
#########################################################################
SYS_Backup:* {
fhem("backup");;
opendir DIR, \media\usbstick\backup or die $!;;
my $mybackups = "";;
while(my $file = readdir DIR){
  next if($file eq "." || $file eq "..");;
  $mybackups = $mybackups."$file
";;
}
closedir DIR;;
fhem("set SYS_Backup ".$mybackups);;
}
#########################################################################


habe ich fast 1:1 aus dem Wiki außer dem Pfad eben

Grüße
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Bartimaus am 24 Juni 2015, 13:07:59
Auch die leben bei den häufigen Schreibzugriffen nicht ewig. Hab mir auch schon nen Stick geschrottet.

Jetzt habe ich nen BananaPi mit SSD via SATA, bislang toitoi
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: ostseehuepfer am 24 Juni 2015, 13:12:52
Schon klar aber die HDD kann auch irgendwann ....
Natürlich lebt sie länger als ein Stick oder eine SD Karte aber vorerst hab ich nix anderes da. Und denke wenn ich nen Stick drin hab schont mir das
auf jeden Fall die SD Karte. Später müsste ich doch dann nur noch in der fstab die UUID ändern und die Dateien auf die HDD kopieren oder nicht?

Grüße
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Bartimaus am 24 Juni 2015, 13:16:03
Aber die Controller in der Hdd sind besser, weil die die zu schreibenden Daten immer in andere Cluster schreiben.
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Hauswart am 24 Juni 2015, 17:12:40
Zitat von: ostseehuepfer am 24 Juni 2015, 13:06:36
opendir DIR, \media\usbstick\backup or die $!;;
Probiere mal:
opendir DIR, "\media\usbstick\backup" or die $!;;
Titel: Antw:Log auf USB-Stick auslagern (Raspbian / Raspberry)
Beitrag von: Dangermouse am 07 Februar 2016, 19:26:05
Hallo zusammen,
mir ist hier ein kleiner Fheler aufgefallen:
Zitat von: Hauswart am 24 Juni 2015, 12:21:12
Edit2: Zur Vervollständigung:
sudo mv /opt/fhem/log /mnt/usb/
sudo ls -s /mnt/usb/log /opt/fhem/log

dies müßte lauten:
sudo ln -s /mnt/usb/log /opt/fhem/log

Ansonsten: danke für dieses schöne HowTo, hat mir nachdem ich erst eine SD zerpflückt hatte bei der Optimierung meines Raspi sehr geholfen :)

Liebe Grüße

Thorsten