[gelöst] Ordner synchronisieren
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
[gelöst] Ordner synchronisieren
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?
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.
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
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:
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:
So entfällt die extra Eingabe von "g" für "go".
Leider habe ich das automatische umounten noch nicht geschafft.
Habe mir mal ein kleines Skriptchen geschrieben:
Code: Alles auswählen
mount /media/Netzwerk-Stick && unison Patsche -fat && umount /media/Netzwerk-Stick
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
Leider habe ich das automatische umounten noch nicht geschafft.
Re: Ordner synchronisieren
In welcher Weise geht es nicht? Fehlermeldung? Sind noch DateienPatsche hat geschrieben: Leider habe ich das automatische umounten noch nicht geschafft.
geoeffnet (`lsof | grep /media/Netwerk-Stick')? Hilft ein `sleep'
vor dem umount etwas?
Use ed once in a while!
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
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.
Ist nicht allzu wild, muss halt nur manuell wieder aushängen, bevor ich das Skript nochmal starte.
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
Re: Ordner synchronisieren
Statt mit sleep würde ich es mit sync versuchen.
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
Hab das jetzt probiert
Hat leider auch nichts gebracht. Ich weiß wirklich nicht, warum es nicht klappt.
Code: Alles auswählen
mount /media/Netzwerk-Stick && unison Patsche -fat -batch && sync && umount /media/Netzwerk-Stick
Re: Ordner synchronisieren
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.
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
Wie lasse ich den Anzeigen?
Re: Ordner synchronisieren
echo $?
Siehe auch https://duckduckgo.com/html/?q=Bash+R%C ... t+anzeigen
Edit: ist zwar OT, aber ich finde es hilfreich
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
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
Irgendwie stehe ich auf dem Schlauch. Wo soll ich jetzt die Abfrage von $ hinschreiben? Erst das Programm ausführen und dann manuell echo $?
Re: Ordner synchronisieren
Hast du mal auf den Suchmaschinenlink geklickt? Ja, deinen unison-Aufruf absetzen, und nach dem Beenden mit echo $? den Rückgabewert anzeigen lassen.
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
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.
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?
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
Re: Ordner synchronisieren
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.
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
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!
Bei Manchen PDF's klappt es, bei manchen widerum nicht.
Vielen Dank für deine Hilfe!
- Patsche
- Beiträge: 3262
- Registriert: 21.06.2013 01:47:54
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: /home/10001101001
Re: Ordner synchronisieren
Falls noch jemand ein anderes Tool kennt, dann kann er es ja nochmal nennen. unison ist für mich derzeit aktzptabel und funktioniert weitesgehen, daher setze ich erstmal auf gelöst.