Ulli Horlacher:
> Arno Welzel <
use...@arnowelzel.de> wrote:
>> Ulli Horlacher:
>>
>>> Arno Welzel <
use...@arnowelzel.de> wrote:
>>>> Ulli Horlacher:
>>>>
>>>>> Arno Welzel <
use...@arnowelzel.de> wrote:
>>>>>
>>>>>> Nein, wieso? Wenn Du von einer 100 GB großen Datei nur 1 MB ändest,
>>>>>> überträgt rsync auch nur diesen Teil und nicht jedesmal 100 GB.
[...]
>>> sent 1,148,849,129 bytes received 35 bytes 99,899,927.30 bytes/sec
>>> total size is 1,148,568,642 speedup is 1.00
>>> Es wird also nach Aenderung von wenigen Bytes das gesamte file uebertragen
>>> und kein delta.
>>
>> Ja - siehe Doku.
>
> Warum behauptest du dann das Gegenteil (erstes Zitat oben!)?
Gegenteil wovon?
Ich spreche die ganze Zeit nur vom Kontext, dass man einen *Server* hat
und einen *Client*. Oder nutzt Du fexget und fexsend auch, um lokal von
einer Datei in einer andere zu kopieren? Wohl eher nicht.
Dass rsync auch bei rein lokalen Dateikopien ebenfalls nur Deltas
überträgt, habe ich nicht behauptet. Das ergäbe auch absolut keinen
Sinn, da ja in jedem Fall die komplette Quell- und Zieldatei gelesen
werden muss, um festzustellen, welche Änderungen vorhanden sind. Das
würde länger dauern, als die Quelldatei einfach in das Ziel zu kopieren.
Deshalb gilt auch - siehe Doku:
-W, --whole-file
With this option rsync's delta-transfer algorithm is not used and the
whole file is sent as-is instead.
(...)
This is the default when both the source and destination are specified
as local paths.
(Zitat Ende)
Wenn man aber rsync als *Client* mit einem *Server* macht, so dass auf
beiden Seiten jeweils ein rsync-Prozess läuft und diese miteinaner über
eine Netzverbindung reden, wird standardmäßig nur blockweise das
übertragen, was sich zwischen Quelle und Ziel unterscheidet. Die dabei
benutzte Blockgröße zur Prüfung ist konfigurierbar - siehe Doku.
Den Rest darfst Du gerne selber recherchieren, wenn es Dich interessiert.
[...]
>> Gar nicht. Darum ging es auch nicht, sondern um die Frage, wie rsync mit
>> einem *Servrer* arbeitet.
>
> Du brauchst da dann aber einen UNIX Account.
Korrekt. Deswegen habe ich auch nicht behauptet, dass man rsync statt
F*EX nutzen *soll*, sondern es nur als eine generell Option für
Dateiübertragung genannt. Ob diese Option im Einzefall sinnvoll ist,
hängt vom Einzelfall ab. Auch F*EX hat konkrete Anwendungsfälle.
Ich nutze rsync z.B. regelmäßig, um Daten von diversen Servern zentral
zu sammeln, ohne dass ich dafür jedesmal alle Dateien vollständig
übertragen muss. Die Dateien, die ich schon habe, sendet rsync nicht
nochmal und bei größeren Dateien werden nur die Änderungen übermittelt.
Weiterhin brauche ich am Ziel, wo die Daten gesammelt werden, keinen
Serverdienst sondern nur eine Shell mit rsync und SSH.
[...]
>> JFTR: via HTTP kann ich auch zu meinem Nextcloud-Server 100 GB große
>> Dateien *im* *Browser* senden. Wir leben im Jahr 2022 - Dateiuploads
>> ausschließlich mit Formular und <input type="file"> sind schon lange
>> nicht mehr üblich.
>
> Wie machst du dann?
> Mit websockets?
Die übliche Technik dazu ist XHR (aka "AJAX") - also einfach simple
HTTP-Requests, wo die Dateien in kleinen Portionen von z.B. 1 MB
gesendet werden. Websockets sind dazu nicht notwendig, nur JavaScript.
XHR kann man als gegeben annehmen - es gibt keine Browser, die das nicht
beherrschen. Selbst der Internet Explorer 6 konnte das schon.
Und nein, auch das will ich nicht als ultimative Lösung gegenüber F*EX
anpreisen, sondern erwähne das nur informativ - schon deshalb, weil
zumindest bisher das Wiederaufnahmen von Teil-Uploads nicht vorgesehen ist.
Die Zielgruppe von Nextcloud sind eher Leute, die einfach Dokumente,
Bilder etc. weitergeben möchten und dazu keine separaten Tools benutzen
wollen, sondern das im Browser tun können. Wenn da mal ein Upload 10
Minuten dauert, ist das in der Regel kein Problem - und ich spreche aus
der Erfahrung mit aktuell etwa 120 Personen, die sowas nutzen und für
die ich der Ansprechpartner bin, wenn etwas nicht klappt.
Auch kollaboratives Office für Textverarbeitung oder Tabellenkalkulation
im Browser ist damit möglich und funktioniert erstaunlich gut - man kann
gut gleichzeitig mit mehreren Personen an einer Datei arbeiten und sieht
in Echtzeit, was die Anderen gerade darin tun - ganz ohne Google Docs
oder Microsoft 365.