Ich habe den Box.com-Cloud-Speicher mithilfe von davfs gemäß diesen Anweisungen bereitgestellt . Ich habe mein Box.com-Konto unter / home / me / Cloud / Box eingerichtet
Ich kann sowohl über Dolphin als auch über das Terminal auf das gemountete Dateisystem zugreifen. Es ist etwas langsam, aber ich kann (ls) auflisten und ohne Fehler durch die gesamte Verzeichnisstruktur navigieren.
Als nächstes habe ich versucht, rsync wie folgt auszuführen:
rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music
Ich habe auch versucht:
rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music
und andere Variationen von rsync-Befehlen. Der Befehl kopiert meine Musik von meinem lokalen Dateisystem (/ home / me / Music /) in die Box-Cloud (/ home / me / Cloud / Box / Music) über den davfs-Mount.
Ich bekomme immer viele Fehler dieser Form:
rsync: mkstemp <filename> failed: Invalid argument (22)
Ein konkretes Beispiel ist:
rsync: mkstemp "/home/me/Cloud/Box/Music/VariousArtists/.01_Track_1.mp3.YVmFI9" failed: Invalid argument (22)
Dies alles geschieht auf Kubuntu 12.04 LTS 64-Bit-Hardware mit Serverqualität und einer schnellen / zuverlässigen Kabelmodemverbindung (12 Mbit / s Upload-Geschwindigkeit).
--max-size=250M --exclude '.*'
. Ich bin mir sicher, dasscp
man dazu gebracht werden kann ... vielleicht indem man die Ausgabe von find in cp leitet? Aber ich weiß noch nicht, wie ich das machen soll. Wenn wir eine Lösung finden, werde ich es versuchencp -ru
. Vielen Dank... -size -250M
tut, sonst würden Sie verwenden+250M
(es gab hier kurz eine falsche Version, aber ich erkannte es, bevor die Bearbeitung behoben wurde)1. Probleme mit Sonderzeichen in Dateinamen
Enthalten die Dateinamen Sonderzeichen? Abhängig vom Dateisystem, in das Sie diese Dateien schreiben, können Sie Dateien möglicherweise nicht mit einem Punkt (
.
) voranstellen .2. Probleme mit rsync-Änderungszeiten und webdav2
Ich bin auf diesen Blog-Beitrag
rsync
gestoßen, in dem ein Problem mit einem Problem beim Schreiben / Verfolgen von Änderungszeiten für Dateien in webdav2-gemounteten box.com-Verzeichnissen beschrieben wird.Das Problem tritt im gemounteten Dateisystem folgendermaßen auf:
Der gleiche Artikel zeigte eine Problemumgehung:
Dies ist eine in Ordnung zu verwendende Methode
rsync
, aber es werden nur Dateien anhand ihrer Größe verglichen, nicht anhand ihrer Prüfsummen.3. Probleme mit davfs2 (WebDAV)
Ich bin auf diesen Thread mit dem Titel gestoßen : rsync via davfs2? im WebDAV (davfs) Forum über SourceForge. Jemand erkundigte sich nach einer ähnlichen Situation, in der er WebDAV verwenden wollte, um einen Online-Speicheranbieter bereitzustellen und über WebDAV Rsync-Vorgänge für den bereitgestellten Speicher durchzuführen. Dies sagte einer der Entwickler (Werner Baumann) von WebDAV zu diesem Thema .
Auszug aus Werners Antwort
Werner schlägt weiter Folgendes vor
Optionen?
Wie von @Anthon vorgeschlagen, können Sie
cp -u
die Dateien mit dieser Methode kopieren. Die Erkenntnis, dass diese Methode nur die Größe einer Datei als Vergleichsfaktor betrachtet, ist daher nicht vollständig zuverlässig.Sie sollten nichts verwenden, das nur die Änderungszeiten beim Vergleichen von Dateien berücksichtigt
cp -pru
. Werner erklärt in diesem Thread warum :Auszug zum Thema Mod Zeiten
Angesichts der verschiedenen Probleme im Zusammenhang mit Änderungszeiten scheint ein Ansatz mit reinen Prüfsummen besser zu passen:
quelle
got file_sum recv_files(Some_Music_[1999]/Some_Music_[1999]Zuni_SongVarious_Artists24.mp3) rsync: mkstemp "/home/me/Cloud/Box/Music/Some_Music_[1999]/.Some_Music_[1999]Zuni_SongVarious_Artists24.mp3.1aWWRY" failed: Invalid argument (22) got file_sum
got file_sum recv_files(Carlos/Dance/05-Tapestry-Carlos.mp3) rsync: mkstemp "/home/me/Cloud/Box/Music/Carlos/Dance/.05-Tapestry-Carlos.mp3.WeGbGS" failed: Invalid argument (22) got file_sum recv_files(Carlos/Dance/06-Dance-Turquoise_Dance-Carlos.mp3)
rsync
Sie?rsync --version
.rsync version 3.0.9 protocol version 30
und ich teste jetzt Ihre aktualisierte Lösung. Vielen Dank!Um den
Invalid argument (22)
Fehler zu stoppen, musste ich rsync daran hindern, seine temporären Dateien auf dem davfs-Ziel zu erstellen.Ich denke, was passiert, ist, dass die temporären Dateinamen von rsync damit beginnen
.
und davfs dies nicht zulässt. Also ging ich weiter und forderte rsync auf, Quelldateien mit Namen zu ignorieren, die mit beginnen.
. Da ich benutze--delete
, habe ich auch gesagt, dass ich nicht versuchen soll, daslost+found
Verzeichnis im davfs-Ziel zu löschen .quelle