Ich führe dies von meiner Eingabeaufforderung aus:
rsync -rltz --executability -C --filter=':- .gitignore' -e "ssh -i /cygdrive/c/Users/dstein/.ssh/id_rsa" myfolder/ [email protected]:/path/to/place
Ich habe meine PATH
Umgebung so eingerichtet, dass sie auf „Avriable“ verweist, cygwin/bin
sodass ich sie verwenden kann rsync
, ohne in Cygwin zu sein, was eine Reihe anderer Probleme verursachte.
Ich habe es endlich zum Laufen gebracht, sodass wenn ich eine Datei darin ändere, myfolder
sie nach hochgeladen wird place
. Wenn ich jedoch Dateien bearbeite, die weiter darin verschachtelt sind, myfolder
funktioniert der obige Befehl für diese nicht.
BEARBEITEN
Es stellt sich heraus, dass es nicht an der Tiefe liegt, sondern an diesem bestimmten Ordner mit dem Namen. core
Er verfügt über dieselben Berechtigungen wie alle anderen Ordner, die problemlos synchronisiert werden.
Antwort1
Es scheint, dass Ihr Problem mit der -C
Flagge zusammenhängt. rsync
Die -C
Flagge ist die CVS-Ausschlussregel. Sie ignoriert automatisch Dateien, die den internen CVS-Regeln zum Ausschließen von Dateien entsprechen.
Ausgeschlossen sind unter anderem man rsync(1)
:
RCS SCCS CVS CVS.adm RCSLOG cvslog.* tags TAGS .make.state .nse_depinfo *~ #* .#* ,* _$* *$
*.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj *.so *.exe *.Z *.elc *.ln core
.svn/ .git/ .hg/ .bzr/
Die Regel, gegen die Ihr Verzeichnis verstoßen hat, war die core
am Ende von Zeile 2.
Antwort2
Lassen Sie mich alles löschen und einfügen, wie wir es gepostet haben. Wenn Sie das nachfolgende / aus myfolder/ entfernen, wird das gesamte Verzeichnis kopiert. Aber Sie werden myfolder an Ort und Stelle haben. Ich verstehe nicht, warum -r nicht funktioniert.
Geben Sie -vv ein, um weitere Informationen zu erhalten.