Mam miliony zdjęć na moim serwerze w chmurze ubuntu. Kiedy przenoszę cały folder zawierający 12 milionów obrazów za pomocą mvpolecenia, dzieje się to niemal natychmiast. Kiedy jednak mvtylko obrazy (nie folder) to zajmuje trochę czasu. Czy istnieje sposób na przeniesienie wszystkich obrazów tak szybko, jak foldery?
Oto co się dzieje:
Folder src ma 12 milionów obrazów i przenoszę go do folderu dst za pomocą
$ mv src ../dstZdarza się natychmiast
W folderze src robię to, aby przenieść:
find -maxdepth 1 -name '*.jpg' -exec mv -t ../../dst/ {} +To zajmuje trochę czasu.
Czy istnieje sposób na przyspieszenie drugiego procesu?
dstjest na partycji, podczas gdy ../../dstna innej.
{}argumentu, w którym nazwa (-y) pliku (-ów) zostałaby rozwinięta.
find. find ... -exec mv -t ../../dst/ {} \;zadzwoniłby mvraz na plik; find ... -exec mv -t ../../dest {} +byłoby znacznie szybsze, kopiowanie jak największej liczby plików na połączenie, ale nadal nie tak szybkie, jak przenoszenie samego katalogu, jak wyjaśniono w dadexix86 .