Ich habe meine backup Platte in der fstab eingebunden:
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# systemd generates mount units based on this file, see systemd.mount(5).
# Please run 'systemctl daemon-reload' after making changes here.
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda1 during installation
UUID=4e74b604-27dc-4b51-9e38-c6e6433730ec / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=e65d199f-6b94-448a-88b1-76be6e1fdb59 none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 0
UUID=206318a8-5dc6-e2b5-357d-41507e965820 /media/usb ext4 auto,nofail,sync,users,rw 0 0
ist nach /media/usb gemountet. Beim starten des Systems wird die hdd (sdb1 oder UUID=206318a8-5dc6-e2b5-357d-41507e965820) jedoch nicht automatisch eingebunden. Wenn ich die hdd über mount -a einbinde ist sie da und unter /media/usb eingehangen. Ich denke das das System zu schnell ist und die usb hdd dadurch noch nicht verfügbar ist wenn die Laufwerke in der fstab eingebunden werden. Eine rc.local gibt es unter Bookworm direkt nicht, nur unter /usr/lib/systemd/system/rc-local.service.
Im Netz habe ich gefunden das man mit mount -a die Laufwerke in der rc.local einbinden kann.
Meine Frage: geht dieser Weg auch mit mount -a in der /usr/lib/systemd/system/rc-local.service ?
VG
Frank
Du kannst das mount -a auch mit @reboot in die /etc/crontab einbinden.
Alternativ gibt es ja inzwischen genug Optionen für ein automount, die man verwenden könnte, um eine USB Platte einzuhängen, sobald sie verfügbar wird.
@betateilchen
Habe mit sudo nano /etc/crontab folgendes angelegt:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily; }
47 6 * * 7 root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.weekly; }
52 6 1 * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.monthly; }
#
@reboot mount -a
Wäre das so OK?
Zitat von: franky08 am 21 August 2024, 10:05:29Wäre das so OK?
Nein. Bitte beachte die in der Datei aufgeführten Anmerkungen/Kommentare und die Beispiele.
Der einzige Unterschied zu den Beispielen ist, dass Du keine Uhrzeit zur Ausführung angibst, sondern den Zeitpunkt @reboot. Das ändert nichts daran, dass Du auch einen Benutzer angeben musst, unter dem der Befehl ausgeführt werden soll.
Und es hat sich als gute Praxis bewährt, den vollständigen Pfad eines Befehls anzugeben - auch das ist im Beispiel so angegeben.
Vielleicht mal die Doku zu crontab lesen?
https://manpages.debian.org/unstable/manpages-de/crontab.5.de.html
Wenn ich das richtig verstanden habe (manpages zu crontab5) müsste das Kommando:
@reboot root /usr/bin/mount -a
sein.
Die Zeitangabe entfällt bzw. reboot ist der Zeitpunkt zur Ausführung des Befehls. Aber vlt. ist mit cron die Ausführung ebenfals wieder zu früh (wie die Ausführung der fstab)?
Beachten Sie, dass der Startzeitpunkt, soweit es @reboot betrifft, die Zeit ist, zu der der cron(8)-Daemon gestartet wurde. Insbesondere könnte dies früher sein, als der Start von einigen System-Daemons oder anderen Einrichtungen. Dies erfolgt aufgrund der Systemstartreihenfolgesequenz der Maschine.
Der PATH ist ja zum Start der Datei mit:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
schon angegeben.
Einige Beispiele im Netz geben keinen Benutzer an:
@reboot [Pfad/zum/Befehl]
Ergo:
@reboot /usr/bin/mount -a
VG
Frank
Hi
Dann schau doch mal im syslog oder mit dmesg nach was wann in welcher Reihenfolge beim Hochlauf passiert.
Gruß Ralf
Zitat von: franky08 am 21 August 2024, 15:02:35Einige Beispiele im Netz geben keinen Benutzer an:
Dabei musst Du unterscheiden, ob es sich um die crontab eines bestimmten Benutzers handelt, oder um die systemweite crontab
Das steht doch auch ausdrücklich im Kopf der von Dir geposteten Datei:
Zitat
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
Ergo:
@reboot root /usr/bin/mount -a
@betateilchen
Ich war mir erst nicht sicher ob ich mit crontab -e oder mit sudo nano /etc/crontab arbeiten soll. Die Erste ist dann wohl die für den User und die in /etc/ die Systemweite. Editiert habe ich, wie oben gepostet, die /etc/crontab.
Vielen Dank
Frank