Puncte:0

Folderele după rsync au dimensiuni diferite

drapel es

Am folosit rsync pentru a copia un folder de la o mașină la alta. Dosarul este foarte mare și are mii de subdirectoare și în total milioane de fișiere. După transfer (care a fost întrerupt de câteva ori) verific folderul de pe fiecare mașină. Rezultatele nu se potrivesc:

Dosar sursă: 430 Gb

Folder țintă: 415 Gb

Am încercat să sincronizez din nou, dar toate subdirectoarele sunt omise. De asemenea, am încercat să adaug --checksum la comandă și încă omite totul. Este explicabilă această diferență de 15 Gb? Dacă nu, există vreo modalitate de a găsi ce fișiere nu se potrivesc?

Actualizați Comanda rsync pe care o folosesc este:

rsync utilizator@sursă:dosar țintă
codlord avatar
drapel ru
Vă sugerez să actualizați întrebarea inițială cu comanda reală rsync pe care o utilizați.
drapel cn
Cele 2 au același sistem de fișiere? Aceeași dimensiune de bloc? Cum ai calculat marimea? A inclus tmpfs?
MrHat avatar
drapel es
Am calculat dimensiunea cu du -h. Am verificat și sistemele de fișiere sunt zfs pentru locația sursă și nfs pentru locația țintă. Din păcate, nu găsesc dimensiunea blocului pentru dispozitivele bloc, deoarece sunt în rețea și nu am acces.
Artur Meinild avatar
drapel vn
În mod implicit, `du -h` raportează dimensiunea blocului. Pentru a afișa dimensiunea reală a fișierului, aveți nevoie de `du -h --apparente-size`. Sunt destul de sigur că dimensiunea aparentă va fi aceeași, caz în care dimensiuni diferite ale blocurilor sunt motivul pentru utilizarea diferită a spațiului.
Puncte:1
drapel cn

Există câteva motive pentru care pot exista, sau se pot observa, diferențe de dimensiuni raportate.

  1. Dimensiunile raportate depind de comanda pe care o utilizați și de ceea ce este măsurat în mod specific. În plus, spațiul folosit de fișier poate depinde de sistemul de fișiere și de opțiunile de formatare utilizate pentru a formata unitatea. Sistemele de fișiere Linux acceptă, de asemenea fișiere rare. Aceasta înseamnă că părțile fișierelor (de exemplu, binare) care sunt goale nu sunt stocate fizic pe disc. Astfel, dimensiunea fizică a fișierului de pe disc (așa cum este raportată de du) este mai mică decât dimensiunea fișierului logic (așa cum este raportată de du --aparent-size sau ls).

  2. Un alt factor care poate determina dimensiunile unui rsync copy to differ este prezența legăturilor hard. În mod implicit, legăturile rigide, adică fișiere diferite care indică aceleași informații de pe disc, vor fi copiate ca fișiere separate, astfel că ocupă de două ori spațiu.

  3. O altă cauză posibilă a diferenței de dimensiune este că ați repetat backup-ul. În mod implicit, rsync va păstra fișierele de pe copie care ar fi putut fi șterse din sursă. Trebuie adăugat --șterge opțiunea de a șterge și aceste fișiere de pe țintă.

Ultimele două motive ar duce la un folder țintă mai mare decât folderul sursă, așa că aceasta nu va fi o explicație în cazul dvs. actual.

rsync este un instrument foarte fiabil, iar algoritmii săi de comparare a fișierelor sunt robusti. Compară fișierele pe baza mărcii de timp și a mărimii octeților (dimensiunea logică) a fișierului. Astfel, dacă rsync raportează că nu mai trebuie transferate fișiere, atunci puteți avea încredere în asta.

MrHat avatar
drapel es
Multumesc pentru raspunsul detaliat. Voi încerca opțiunea de ștergere doar pentru a vedea dacă dă același rezultat (ar trebui pentru că sursa este mai mare).În orice caz, fișierele mele vor fi folosite, astfel încât toate vor fi accesate și verificate, dar am vrut să știu dacă există o modalitate mai rapidă de a verifica dacă transferul a funcționat bine. Voi oferi o actualizare în câteva zile după ce verific că niciunul dintre fișiere nu lipsește sau nu este corupt.
vanadium avatar
drapel cn
Cea mai rapidă cale este doar raportarea operațiunii `rsync` în sine. Pentru o securitate extremă, puteți face compararea `rsync` printr-o sumă de control, dar asta va încetini foarte mult sincronizarea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.