Frage Synchronisieren von SSHFS-Mount mit lokalem Dateisystem [geschlossen]


Ich habe ein Verzeichnis namens "secure", das ich über sshfs auf meinen Laptop montiere, wenn der Server erreichbar ist.

Während dieser Server in Reichweite ist, möchte ich ihn in zwei Richtungen mit einem Verzeichnis namens "sync" synchronisieren.

Das Verzeichnis "secure" wird bei der Anmeldung mit pam_mount gemountet und beim Abmelden deaktiviert. Ich habe pam_script eingerichtet, um eine symbolische Verbindung zu "sync" zu erstellen, wenn das mount fehlschlägt und die Verbindung beim unmount zu entfernen.

In meinem ersten Versuch war es unisono mit pam_script zu laufen:

#!/bin/bash

#pam_script_ses_open (runs at the start of a session)

home=`eval echo ~$PAM_USER`
secure=$home/secure
sync=$home/sync

if mount|grep "$secure"; then
    echo Synchronizing with server $sync : $secure
    unison "file://$sync" "file://$secure"
else
    ln -s "$sync" "$secure"
fi

Und für das Ende der Sitzung:

#!/bin/bash

userid=$PAM_USER
home=`eval echo ~$userid`
secure=$home/secure
sync=$home/sync

if mount|grep "$secure"; then
        echo Synchronizing with server
        unison "file://$sync" "file://$secure"
else
        rm "$secure"
fi

Beide Skripte laufen unter root.

Beim Ausloggen Die zwei Verzeichnisse synchronisieren sich gut.

Beim Anmeldung Ich bekomme jedoch folgende Fehlermeldung:

Synchronisieren mit server / home / users / user / sync: / home / benutzer / benutzer / secure

Server wird kontaktiert...

Schwerwiegender Fehler: Falsche Anzahl von Roots: 2 erwartet, aber 4 bereitgestellt (ssh: // Benutzer @ Server /, / Home / Benutzer / Benutzer, Datei: /// Home / Benutzer / Benutzer / Sicher, Datei: /// Home / Benutzer / Benutzer / Synchronisierung)

(Vielleicht haben Sie Root sowohl in der Befehlszeile als auch im Profil angegeben?)

Ich habe verifiziert, dass kein Verzeichnis ".unison" in einem Benutzer-Home-Verzeichnis existiert und apt-get purge unison gefolgt von apt-get install unison.

Ich bin nicht ganz glücklich über die Verwendung von Unison auf diese Weise (auch wenn es funktioniert hat), weil es nur beim Anmelden und Abmelden synchronisieren würde. Es wäre keine Live-Synchronisation.

Wie kann ich sshfs oder fstab dazu bringen, eine Live-Synchronisation zu starten, wenn das Verzeichnis gemountet wird oder wenn das nicht möglich ist, warum ist Unison in meinem aktuellen Setup fehlgeschlagen?

Ich suche eine saubere und robuste Lösung.


4
2018-03-10 00:35


Ursprung


@LuisAlvarado mein Setup ist hier beschrieben: help.ubuntu.com/community/SingleSignOn#Shared_Files. Es ist nicht ungewöhnlich, dass Menschen Laptops haben und diese Mounts für unterwegs synchronisieren möchten. Jemand hat es auch als Favorit vermarktet. All das beweist, dass du falsch liegst. - d_inevitable
Hi @d_inevitable können Sie die Antwort auf die Frage auf dieser Seite geben. - Luis Alvarado♦
@LuisAlvarado leider habe ich das noch nicht gelöst. - d_inevitable
@LuisAlvarado, tut mir leid, ich habe wahrscheinlich etwas Verwirrung verursacht. Der Link ive posted beantwortet die Frage nicht, aber bringt Sie zu einem Setup, in dem Sie ein Remote-Dateisystem bei der Anmeldung mounten. Mein Punkt war, dass, wenn jemand das auf einer mobilen Workstation wie einem Laptop aufbaut, es wünschenswert ist, dieses Dateisystem irgendwie lokal zu cachen. Und genau das versuche ich zu erreichen, und darum geht es in der Frage. Es wird also für jeden nützlich sein, der das System wie auf diesem Link beschrieben eingerichtet hat, aber einen Laptop hat, der nicht immer online ist. - d_inevitable
Nun, die Tatsache, dass Sie sich die Zeit genommen haben, dies zu erklären, zeigt, dass Sie sich der Frage verschrieben haben, die ich fälschlicherweise geschlossen habe. Nochmals vielen Dank für die Information und wird die Frage offen lassen, dass jemand Ihnen in diesem Fall helfen kann (was mich auch intrigiert). - Luis Alvarado♦


Antworten: