[gelöst] Raspberry nach update - udev Problem

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

[gelöst] Raspberry nach update - udev Problem

Beitrag von gugus » 16.08.2018 19:19:09

Hallo Leutz

Nachdem ich meine Update Runde auf meinen Systemen durchgeführt habe, alles soweit ok, habe ich festgestellt dass einer meiner Raspberies einen Dienst verweigert.

Code: Alles auswählen

# cat /proc/device-tree/model
Raspberry Pi 2 Model B Rev 1.1

# cat debian_version 
9.4
Ich habe hier ein rsnapshot automatisiert mit bash script am start der nicht mehr mehr läuft.
Nach absuchen der einzelnen conf Dateien ist mir nichts aufgefallen das geändert wurde, einzig beim rsnapshot.log.
Hier hat sich das Datumsformat umgestellt, ich nehme an dass ausser diesem noch etwas anderes "verstellt" wurde.

Code: Alles auswählen

[14/Aug/2018:02:02:41] rm -f /var/run/rsnapshot.pid
[14/Aug/2018:02:02:41] /usr/bin/rsnapshot daily: completed successfully
[2018-08-15T02:00:16] /usr/bin/rsnapshot daily: started
[2018-08-15T02:00:16] echo 29079 > /var/run/rsnapshot.pid
Ein raspi-config ist soweit alles gut, locales etc ist auch ok.

Was habe ich übersehen :?:

Gruss
gugus
Zuletzt geändert von gugus am 30.08.2018 21:45:51, insgesamt 2-mal geändert.

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Raspberry nach update

Beitrag von gugus » 18.08.2018 14:29:10

Sodele
Nach einigem Suchen habe ich glaube ich das Problem gefunden.
Genau das selbe hatte ich schon mal.

Es geh darum dass das UDEV ein Sript startet und das Script sich nach einiger Zeit beendet.
Um dies zu umgehen habe ich ein wrapper script das dann das eigentliche script für das Backup staret.

Leider wird das Backup script nach Aufruf durch das wrapper script nicht gestartet.
Bisher hat dies absolut einwndfrei funktioniert:

Code: Alles auswählen

-rwxr-xr-x 1 root root  1374 Dez  4  2016 usb-backup.sh                                                                                                             
-rwxr-xr-x 1 root root   548 Nov 22  2016 wrapper-usb-backup.sh 
Wrapper Script:

Code: Alles auswählen

logger "Start usb-backup"
echo /usr/local/bin/usb-backup.sh | at now
logger "Exit Wrapper"
exit 0
Backup script:

Code: Alles auswählen

#!/bin/bash
logger "USB-Backup gestartet ......."
....
dmesg sagt:

Code: Alles auswählen

Aug 18 02:00:15 mimas root: Start usb-backup
Aug 18 02:00:15 mimas root: Exit Wrapper
Das backup srcipt wird nicht gestartet.

Nun steh ich wieder da wie vorher .... ratlos. :?:

Gruss
gugus

inne
Beiträge: 3272
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Raspberry nach update

Beitrag von inne » 18.08.2018 15:26:10

Steht vlt. was in der E-Mail von at(1)?

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Raspberry nach update

Beitrag von gugus » 18.08.2018 17:15:32

Ähmm, wekches E-mal von at(1)?

Ich habe auch gerade den Bash internen Befehl "disown" gefunden, hat den jemand schon benutzt.

inne
Beiträge: 3272
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Raspberry nach update

Beitrag von inne » 18.08.2018 17:18:00

gugus hat geschrieben: ↑ zum Beitrag ↑
18.08.2018 17:15:32
Ähmm, wekches E-mal von at(1)?
Aus der Handbuchseite:
The user will be mailed standard error and standard output from his commands, if any. Mail will be sent using the command /usr/sbin/sendmail.

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Raspberry nach update

Beitrag von gugus » 18.08.2018 17:37:35

akso. Nein steht weder im mail.log noch mail.err etwas bezüglich at

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Raspberry nach update

Beitrag von gugus » 18.08.2018 20:33:33

habe es hinbekommen.
mit

Code: Alles auswählen

nohup /usr/local/bin/usb-backup.sh &
funktioniert wenigstens das Backup wieder.
ssmtp muss ich noch richten. Das komische daran ist dass nichts an smtp geändert wurde und zwei andere Debian Installationen mit genau derselben smtp.conf laufen.

Gruss
gugus

gugus
Beiträge: 376
Registriert: 04.09.2002 17:41:17
Wohnort: da wo ich zu Hause bin

Re: Raspberry nach update

Beitrag von gugus » 30.08.2018 21:44:05

Hallo zusammen
Nachdem ich gedacht habe dass es gelöst ist wurde das Script doch wieder gekillt. :(
Der Grund ist dass UDEV alles killt nach einer gewissen Zeit, egal ob entkoppelt (fork) oder nicht, das nützt auch ein nohup oder at nichts.

Dann habe ich einen Tip gelesen und wurde auf systemd aufmerksam. Kompliziert dachte ich, na gut. ausprobieren.

Zuerst habe ich die UDEV Rule angepasst, usb auf Subsystem und Drivers sowie Systemd Service eingefügt.

Code: Alles auswählen

SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{serial}=="FF......", KERNEL=="sd?1", ACTION=="add", SYMLINK+="usb-backup", ENV{SYSTEMD_WANTS}+="usb_backup@%k.service"
Danach das Systemd Service Script angelegt mit dem Aufruf des originalen usb-backup.sh Scripts

Code: Alles auswählen

# cat /etc/systemd/system/usb_backup@.service 

[Unit]
Description=USBBackup
 
[Service]
ExecStart=/usr/local/bin/usb-backup.sh %I
 
[Install]
WantedBy=system.device
Einfach nur eine Beschreibung, Script mit ExecStart aufrufen und ein WantedBy angegeben.
das %I übergibt einfach nur das Device /dev/sda1. Verwend ich noch nicht weiter da ich mit der UDEV Rule einen Link auf sda1 gesetzt habe den ich verwende.

UDEV neu starten und Systemd Service enable und start.

Code: Alles auswählen

/etc/init.d/udev restart
systemctl enable usb_backup@.service
Was soll ich sagen... es läuft perfekt. :THX:

Das .service file kann man noch etwas anpassen und verbessern mit wants network und/oder ssh (Voraussetzung Netzwerk oder SSH) damit der Service auch nur gestartet wird wenn Netzwerk und/oder SSH da sind.

Das Gute ist, ich musste mein Bash Script nicht anpassen.

Gruss
Gugus

Antworten