• Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick
  • November - das bedeutet oftmals Herbstblues, grauer Himmel, Tristesse und Wetter, bei dem man gern im Warmen bleibt. Aber nur oftmals! Wir fordern Euch gern auf, gegen den Herbstblues anzukämpfen und hoffen, dabei hilft Euch unser aktuelles Monatsthema. Neugierig geworden? --> Zum Mitmachen bitte hier klicken

[10.11 El Capitan] Cronjob: Auto-Mount via sshfs

caomhan

Erdapfel
Registriert
25.05.16
Beiträge
2
Hi Leute,

ich bekomme es einfach nicht hin, via Cronjob ein Netzlaufwerk zu mounten. Mein Server im Büro geht via WOL an. Daher kann ich nicht einfach einmalig am start mouten.

Ich führe via Cronjob folgende Shell Datei aus:

Code:
#!/bin/bash

mkdir /Volumes/Auftraege
mkdir /Volumes/DataStorage

/sbin/mount -t afp "afp://user:[email protected]/Auftraege" /Volumes/Auftraege
/sbin/mount -t afp "afp://user:[email protected]/DataStorage" /Volumes/DataStorage

/usr/local/bin/sshfs [email protected]:/var/www/git/ /Users/user/ServerGit -ovolname=ServerGit


Die letzte Zeile (/usr/local/bin/sshfs) läuft nicht. Es kommt ein "remote host has disconnected"

SSH Auth ist via ssh-add -K im Schlüsselbund gesichert. Führe ich die Shell Datei direkt selber im Terminal aus, geht es. Nur via Cronjob nicht. Ich habe keine Ahnung warum - vielleicht ihr?

Wäre schön, wenn ihr mir helfen könnt.

Grüße,
caom
 
Das ist ein interessantes Problem. Würde mich interessieren, woran es lag, wenn Du es raushast.

Ich könnte mir vorstellen, dass das Shellscript von cron als root ausgeführt wird. Das würde erklären, warum die mount-Befehle gelingen, der sshfs-Befehl jedoch nicht, da für root kein ssh keyfile gefunden wird. Entsprechend wartet der remote host auf ein Passwort und disconnected irgendwann. Wenn Du selbst unter Deinem Nutzer das Script im Terminal ausführst, klappt es dagegen. Soweit die Theorie ;-)
 
BTW: 'cron' ist Altmetall
Empfehlung: 'launchd' benutzen.
 
Es lag einfach daran, dass via cron keine komplette Shell mit allen Features genutzt wird (so habe ich es irgendwo aufgeschnappt). Somit sind die .ssh Keys nicht verfügbar (u.a.). Also war die Lösung den Key-Pfad direkt im Befehl mit anzuhängen.
 
  • Like
Reaktionen: uhansen
Danke fürs Posten der Lösung. SSHFS hab ich bisher nicht genutzt. Könnte mir aber einiges einfacher machen, also super: Wieder was gelernt.