Hallo liebe Leute,
ich versuche seit Wochen ein rsync Bash-Script für die Sicherung eines Raspberry Pi's zum Laufen zu bringen und scheitere immer wieder am Einhängen der NAS-Freigabe für das Backup-Ziel.
Am NAS habe ich das entstprechende Verzeichnis per NFS für die statische IP-Adresse des Pi's freigegeben. Die IP Adresse des Pi's ist in diesem Fall 192.168.0.13 und die des NAS ist 192.168.0.10. Ein Rechteproblem dürfte es meiner Meinung nach nicht sein - habe per SSH die Rechte des Verzeichnisses am NAS überprüft.
Hier die Ausgabe von
cat /etc/exports
am NAS
"/share/MD0_DATA/Backup" 192.168.0.13(rw,async,no_subtree_check,insecure,no_root_squash)
Der Owner des Verzeichnisses ist root und die UID der beiden Benutzer (Admin-User am Pi) und Adminstrator am NAS ist die gleiche.
Um den Mount Befehl ohne root-Rechte (also ohne Parameter wie -t nfs, etc.) ausführen zu können, habe ich das gewünschten Verzeichnis in der fstab Datei ergänzt.
Hier der Auszug aus der Datei
/etc/fstab
192.168.0.10:/Backup /mnt/backup nfs rw,relatime,user,noauto 0 0
Hier habe ich bewusst 'user' verwendet um im Bash-Script kein sudo für den Mount zu benötigen. Fragt mich bitte nicht ob das auch stimmt - ich habe alle Dinge, die ich recherchiert habe versucht 😉
Und hier ein Auszug aus dem eigentlichen Bash-Script. Auszug deshalb, weil das Problem genau an den unten gezeigten Zeilen auftritt. Das Logfile sagt mir immer "Beim Einhaengen ist ein Fehler....".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | readonly MOUNT_POINT='/mnt/backup' readonly LOG="${0}".log echo "SCHRITT 3" >> "${LOG}" echo "Pruefe Moint-Point..." >> "${LOG}" if ! mountpoint -q "${MOUNT_POINT}"; then # Wenn nicht, versuche es einzuhaengen echo "Backup-Verzeichnis ${MOUNT_POINT} einhaengen." >> "${LOG}" if ! mount "${MOUNT_POINT}"; then echo "Beim Einhaengen ist ein Fehler aufgetreten. Die Sicherung wird abgebrochen!" >> "${LOG}" exit 5 else echo " Backup-Verzeichnis erfolgreich eingehaengt." >> "${LOG}" fi else echo "${MOUNT_POINT} ist bereits eingehaengt." >> "${LOG}" fi |
Da ich dachte, dass ich den Mount-Befehlt als Root-User absetzen muss, habe ich den entsprechenden Cronjob in den crontab des Root-Users, also mittels sudo crontab -e geschrieben.
Der Cron-Job wird auch entsprechend gestartet - ich sehe das am Zeitstempel des angelegten Logfiles. Zu diesem Zeitpunkt dürften sich das NAS bzw. die HDDs im Ruhemodus befinden.
Wenn ich den Befehl
mount /mnt/backup
manuell in der Konsole ausführe, dann ist das Verzeichnis /mnt/backup komplett leer?!
Hier noch die Mountpoints, die ich am Pi angezeigt bekomme, was ja eigentlich gut aussieht.
showmount -e 192.168.0.10
Export list for 192.168.0.10: ... /Backup ...
Ich wünsche euch einen schönen Tag und bedanke mich für jeden Tipp, der mich in die richtige Richtung lenkt,
Mike