Linuxiarze.pl Forum

Dystrybucje Linux => Inne dystrybucje Linux => Wątek zaczęty przez: Pawel1995 w Styczeń 13, 2022, 10:02:22 AM

Tytuł: Sprawdzenie faktycznych rozmiarów katalogów
Wiadomość wysłana przez: Pawel1995 w Styczeń 13, 2022, 10:02:22 AM
Hej, postanowiłem ten wątek zacząć w "Inne dystrybucje Linux ", bo nie dotyczy on żadnej konkretnej dystrybucji tylko [chyba] wszystkich.

Otóż przenoszę sobie pliki z serwera na serwer i miałem sytuację ze po 24h ciągłego kopiowania coś się zawiesiło...
Kopiowanie sie rozleciało i chciałem sprawdzić który folder jest kompletny, który nie.

Robie to dwoma poleceniami:
find /home/folder/ -type f -print | wc -l
oraz
du -s folder

O ile to pierwsze mi daje jednoznacznie ilość plików, to z tym drugim mam problem.

Mianowicie nawet po przekopiowaniu małego folderu (około 1GB) rozmiar jest nieco inny niz na starym serwerze.

Mam podejrzenie że to wynika z innej relokacji plików. W systemie Windows jest "rozmiar" i "rozmiar na dysku".
W wyniku przenosin rozjeżdżał się tylko "rozmiar na dysku", a "rozmiar" zostawał spójny.

Myslę że "du -s folder" daje "rozmiar na dysku". Czy jest zatem odpowiednik "du" dający "rozmiar"?
Oraz czy macie jakieś inne sposoby/programy na sprawdzenie zgodności plików na dwóch serwerach?
Tytuł: Odp: Sprawdzenie faktycznych rozmiarów katalogów
Wiadomość wysłana przez: Piotr_1988 w Styczeń 13, 2022, 01:53:27 PM
Z tego co pamiętam, używasz openSUSE, więc zapewne masz system plików btrfs. Na systemie btrfs nie używa się komendy du, lecz:

btrfs filesystem df [options] <path>
        Show space usage information for a mount point
btrfs filesystem du [options] <path> [<path>..]
        Summarize disk usage of each file.


Po drugie, btrfs ma możliwość automatycznej kompresji danych (np. domyślnie włączona na Fedorze, nie wiem, jak w openSUSE). Wówczasz winieneś korzystać z polecenia compsize:
Usage: compsize [options] file-or-dir1 [file-or-dir2 ...]

Compsize displays total space used by set of files, taking into account
compression, reflinks, partially overwritten extents.

Options:
    -h, --help              print this help message and exit
    -b, --bytes             display raw bytes instead of human-readable sizes
    -x, --one-file-system   don't cross filesystem boundaries