[gelöst] Ordner synchronisieren

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

[gelöst] Ordner synchronisieren

Beitrag von Patsche » 11.12.2013 14:52:34

Ich habe jetzt schon viel über cp und rsync gelesen, aber dort wird immer nur in eine Rinchtung synchronisiert.
Ich habe hier einen USB-Stick in meiner Fritzbox, den ich auch über das Internet via FTP erreichen kann. Zuhause verrichtet er seinen dienst als NAS.Laufwerk.
Ich habe jetzt den Fall, dass ich manchmal Dateien von außerhalb (anderes Gerät) auf dem Stick bearbeite bzw. aktualisiere.
Wenn ich jetzt Zuhause bin möchte ich, dass diese Daten mit dem Ordner auf meinem Laptop synchronisiert werden.
Manchmal bearbeite ich auch lokale Dateien auf meinem Laptop, die dann ebenfalls mit dem Stick synchronisiert werden sollen.
Es soll also an mehreren Stellen und in beide Richtungen synchron gehalten werden. Ich hoffe ich drücke mich verständlich aus.
Ist das ebenfalls mit rsync möglich?
Beispielsweise beim Testen mit einer eigenen Cloud und dem zugehörigen Synchronisationsprogramm wird das automatisch gemacht. Ändert sich was in der Cloud, dann wird es auf dem Laptop übertragen. Ändert sich was am Laptop, dann wird es in die Cloud übertragen.
Meist sind es dann Dokumente und Tabellen, die ich aktualisiere.
Vielleicht habt ihr da einen Tipp?
Zuletzt geändert von Patsche am 22.12.2013 16:47:18, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 11.12.2013 15:31:51


Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 11.12.2013 18:40:29

Das ist genau das, was ich gesucht habe. Leider hat das Programm manchmal Schwierigkeiten zu erkennen, ob eine Datei verändert wurde. Jedenfalls habe ich das hier mit PDF's bemerkt.
Habe mir mal ein kleines Skriptchen geschrieben:

Code: Alles auswählen

mount /media/Netzwerk-Stick && unison Patsche -fat && umount /media/Netzwerk-Stick
Das Einhängen und Überprüfen funktioniert. Nur das Aushängen klappt leider nicht. Kann mir da jemand einen Rat geben?
In dem Programm selber muss man immer noch mit der Eingabe von "g" den Vorgang los starten. Kann man das auch irgendwie automatisieren?
Soll ich einen neuen Thread dafür aufmachen?

Edit:

Code: Alles auswählen

mount /media/Netzwerk-Stick && unison Patsche -fat -batch && umount /media/Netzwerk-Stick
So entfällt die extra Eingabe von "g" für "go".
Leider habe ich das automatische umounten noch nicht geschafft.

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Ordner synchronisieren

Beitrag von Meillo » 13.12.2013 11:45:21

Patsche hat geschrieben: Leider habe ich das automatische umounten noch nicht geschafft.
In welcher Weise geht es nicht? Fehlermeldung? Sind noch Dateien
geoeffnet (`lsof | grep /media/Netwerk-Stick')? Hilft ein `sleep'
vor dem umount etwas?
Use ed once in a while!

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 11:57:38

Der Stick bleibt einfach eingehängt. Das Programm beendet seinen Dienst. Die Fenster gehen auch zu, aber der Stick bleibt eingehängt. Früher hatte ich sogar nur ein cp Befehl mit Optionen benutzt, allerdings war das nur eine einseitige Aktualisierung. Dort hat der Befehl geklappt.
Ein sleep Befehl wird ebenfalls nicht ausgeführt.
Hab das mal mit der Option -debug all geprüft.

Code: Alles auswählen

mount /media/Netzwerk-Stick && unison Patsche -debug all -fat -batch && sleep 60 && umount /media/Netzwerk-Stick
Ist nicht allzu wild, muss halt nur manuell wieder aushängen, bevor ich das Skript nochmal starte.

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 13.12.2013 12:22:13

Statt mit sleep würde ich es mit sync versuchen.

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 12:40:49

Hab das jetzt probiert

Code: Alles auswählen

mount /media/Netzwerk-Stick && unison Patsche -fat -batch && sync && umount /media/Netzwerk-Stick
Hat leider auch nichts gebracht. Ich weiß wirklich nicht, warum es nicht klappt.

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 13.12.2013 13:01:38

Kann es sein, dass dein unison-Aufruf nicht 0 zurückgibt? In dem Fall würde nämlich der Rest hinter „&&“ nicht ausgeführt werden. Um’s zu testen, lass’ mal alles hinter dem unison-Aufruf weg und lass’ dir danach den Rückgabewert anzeigen.

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 13:02:21

Wie lasse ich den Anzeigen?

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 13.12.2013 13:09:37

echo $?

Siehe auch https://duckduckgo.com/html/?q=Bash+R%C ... t+anzeigen

Edit: ist zwar OT, aber ich finde es hilfreich

Code: Alles auswählen

function check_exit_status
{
        local status=$?
        local signal=
        if [ ${status} -ne 0 -a ${status} -ne 128 ]; then

                # If process exited by a signal, determine name of signal.
                if [ ${status} -gt 128 ]; then
                        signal=" ($(builtin kill -l $((${status} - 128)) 2>/dev/null))"
                fi

                printf "\033[1;33m** ${status}${signal} **\033[0m\n" >&2
        fi
}

export PROMPT_COMMAND=check_exit_status

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 13:16:13

Irgendwie stehe ich auf dem Schlauch. Wo soll ich jetzt die Abfrage von $ hinschreiben? Erst das Programm ausführen und dann manuell echo $?

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 13.12.2013 13:18:22

Hast du mal auf den Suchmaschinenlink geklickt? Ja, deinen unison-Aufruf absetzen, und nach dem Beenden mit echo $? den Rückgabewert anzeigen lassen.

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 13:32:17

Oh ne. Ich dachte das Fragezeichen wäre dein Ausdruck für, "Weißt du das etwas nicht?
Ja auf den Link habe ich geklickt, dort werden aber ganze Skripte zum Abfragen erstellt und ich wusste nicht, wie ich das nun einzubauen habe.

Code: Alles auswählen

marco@Patsche-HP:~/Arbeitsfläche$ echo $?
1
Es wird also keine 0 als Rückgabewert gegeben. Kann ich das irgendwie umbiegen? Oder es hinbekommen, dass ein umount durch eine 1 angestoßen wird?

DeletedUserReAsG

Re: Ordner synchronisieren

Beitrag von DeletedUserReAsG » 13.12.2013 13:38:22

Ein Wert ≠ 0 bedeutet im Normalfall, dass irgendwo ein Fehler aufgetreten ist. Vorausgesetzt, unison hält sich an die Konventionen, solltest du rausfinden, was schiefgelaufen ist. Bist du dir sicher, dass alles okay ist, kannst du das „&&” durch „;“ ersetzen, dann wird nach dem Abarbeiten des Aufrufs ohne Rücksicht auf Rückgabewerte weitergemacht.

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 13.12.2013 13:45:10

Ja es läuft alles problemlos. Einige PDF-Dokumente kann er nicht aktualisieren, weil er wohl beim Nachgucken die Dateien wieder aktualisiert. Es kommt dann der Hinweis, dass während der Aktualiserung die Datei aktualisiert wurde.
Bei Manchen PDF's klappt es, bei manchen widerum nicht.
Vielen Dank für deine Hilfe!

Benutzeravatar
Patsche
Beiträge: 3262
Registriert: 21.06.2013 01:47:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: /home/10001101001

Re: Ordner synchronisieren

Beitrag von Patsche » 22.12.2013 16:46:59

Falls noch jemand ein anderes Tool kennt, dann kann er es ja nochmal nennen. Debianunison ist für mich derzeit aktzptabel und funktioniert weitesgehen, daher setze ich erstmal auf gelöst.

Antworten