Automatisiert überprüfen, ob per fstab eingerichteter Mount noch besteht

  • Ich habe die Storage-Box von Hetzner über fstab (fuse.sshfs) eingebunden. Funktioniert soweit auch super.

    Nun scheint es alle paar Tage eine kurze Unterbrechnung zur Storage-Box zu geben und mein Mount fliegt raus. Es lässt sich durch Eingabe von sudo mount -a leicht beheben. Blöd nur, wenn ich unterwegs bin und diesen Befehl nicht absetzen kann.

    Lässt sich in irgendeiner Weise testen, ob der Mount noch besteht und anschließend eine Aktion ausführen (hier mount -a)?

  • Ist jetzt so grob alles aus dem Kopf und macht nur Sinn wenn du eine Distribution mit systemd hast - aber damit geht das ganz easy.

    Erstelle die Datei: /usr/local/bin/check-mount.sh (Dateiname kannst du frei wählen)

    Hier der Inhalt (bitte Mount Pfad anpassen):

    Bash
    #!/bin/bash
    
    MOUNTPOINT="/pfad/zu/deinem/mountpunkt"
    
    if ! mountpoint -q "$MOUNTPOINT"; then
      echo "Mount ist nicht aktiv – versuche Remount..."
      /bin/mount -a
    fi

    Dieses Script prüft ob der Mount noch existiert, wenn nicht mountet er das Ding neu.

    Danach müssen wir die Datei ausführbar machen:

    chmod +x /usr/local/bin/check-mount.sh

    Nun müssen wir einen systemd Timer schreiben, der nun z.b. alle 5 Minuten dieses Script ausführt. Dazu erstellen wir die Datei (Name wieder frei wählbar).

    /etc/systemd/system/check-mount.timer

    Da schreiben wir nun diesen Inhalt rein:

    Code
    [Unit]
    Description=Run mount check every 5 minutes
    
    [Timer]
    OnBootSec=5min
    OnUnitActiveSec=5min
    Unit=check-mount.service
    
    [Install]
    WantedBy=timers.target

    Zeit kannst du auch anpassen.

    Nun müssen wir systemd mitteilen das es neue Config Files gibt:

    sudo systemctl daemon-reload

    Mit nachfolgendem Befehl startest du deinen 5 Minuten Timer:

    sudo systemctl start check-mount.timer

    Mit diesem Befehl teilst du systemd mit, dass der 5 Min Timer bei Systemstart in Zukunft automatisch mitgestartet werden soll:

    sudo systemctl enable check-mount.timer

    Das ganze jetzt so frei aus dem Kopf, prüf die Scripte noch vorab aber so müsste das gehen.

    Linux Nutzer seit über 20 Jahren. I ❤️ Freedom!

    Praxisnahe Einblicke in Self Hosting, Linux und eigene Infrastruktur. Für Entwickler:innen und Macher:innen, die ihre digitale Souveränität selbst in die Hand nehmen. https://rueegger.me

  • kim88

    Oh man, da habe ich viel zu kompliziert gedacht. Logisch, einfach regelmäßig überprüfen, ob der eingebundene Ordner noch existiert.

    Danke für den Input.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!