LINUX.ORG.RU

Как скопировать большой объём данных (сотни гигабайт и ~200 000 мелких файлов), чтобы данные были в формате как ваш / допустим, а не большим .iso или .bin файле?

 


0

1
  • Хотелось бы чтобы это не заняло вечность.
  • Скопировать нужно с внешнего HDD по usb 2.0
  • На внешнем HDD (откуда копирую) файловая система NTFS, скопировать хочу на файловую систему ext4

чтобы данные были в обычном, не бинарном формате?

На бумажку переписать, будут аналоговыми. Можно ещё на квантовый компьютер перекинуть, там вроде как не бинарное, или вот ещё были какие-то наработки с троичной логикой, правда вроде не производилось массово такое.

Если не подходит, то переведи на русский, что ты имеешь в виду под «обычным а не бинарным форматом».

И вообще заново весь вопрос задай, если он не философский (сейчас выглядит именно таковым), а практическим. Откуда и куда скопировать, по каким каналам это требуется сделать, что там за канитель с форматом (самое непонятное)?

Psych218 ★★★★★ ()
Последнее исправление: Psych218 (всего исправлений: 1)

Файловая система?

Возможно, поможет rsync.

Mg_usr ()
Ответ на: комментарий от just_a_brake

Файлы копируются командой cp или например rsync.

kostik87 ★★★★★ ()

Готовься к тому, что не всё сможет записаться ввиду ограничения на длину названия файлов.

Deleted ()

rsync?

а вообще вопрос-претендент на победу в номинации «наиглупейшим образом заданный на этой неделе».

Avial ★★★★★ ()
Ответ на: комментарий от just_a_brake

Ты просто эталон непонятности, блин. Ты хочешь скопировать директорию со всем содержимым? —

cp -r
, но через rsync будет быстрее, да и опций там больше.

Или у тебя куча образов дисков в формате .iso, и ты их хочешь извлечь из них файлы?

Vsevolod-linuxoid ★★★★★ ()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

С чего быстрей-то на холодную? Но таки докачка спасет если что, это да.

Morin ★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Ты хочешь скопировать директорию со всем содержимым?

Директорию и всё-всё-всё. .iso образов у меня нет, только небольшое количество архивов.

just_a_brake ()
Ответ на: комментарий от just_a_brake

tarим (если место позволяет), копируем одним куском. Много мелких файлов это будет ооооочччеееннннььььь долго

Morin ★★★★ ()
Ответ на: комментарий от Deleted

Готовься к тому, что не всё сможет записаться ввиду ограничения на длину названия файлов.

Скажите, а rsync меня от этого сможет спасти?

just_a_brake ()
Ответ на: комментарий от Morin

Много мелких файлов это будет ооооочччеееннннььььь долго

Разве rsync не предназначено и для этого —

Важным отличием rsync от многих других программ/протоколов является то, что зеркалирование осуществляется одним потоком в каждом направлении (а не по одному или несколько потоков на каждый файл). — https://ru.wikipedia.org/wiki/Rsync


Хотя... https://aweirdimagination.net/2015/02/03/transferring-many-small-files/

Mg_usr ()
Ответ на: комментарий от Mg_usr

Разве rsync не предназначено и для этого

rsync работает медленнее, чем tar

teod0r ★★★★★ ()
Ответ на: комментарий от Mg_usr

Предназначен, но ты явно не понимаешь сути проблемы мелких файлов или альтернативы в виде архива из этих файлов (можно даже без сжатия). Даю подсказку - среда распространения, в нашем случае USB, файловая система, в нашем случае NTFS в EXT4. Предлагаю тебе посчитать накладные и ужаснуться (:

Ну и побуду вангой, бэкапы мы походу еще не пробовали (:

Morin ★★★★ ()
Последнее исправление: Morin (всего исправлений: 1)

Хотелось бы чтобы это не заняло вечность. Скопировать нужно с внешнего HDD по usb 2.0

если загвоздка именно в скорости usb2.0 (и кучи мелких файлов), то предлагаю считать образ внешнего веника, примонтировать и скопировать что нужно.

onlybugs ★★ ()

Скопировать нужно с внешнего HDD по usb 2.0

Сбегать в магазин и купить коробку с usb3, перекинуть диск в новую коробку, скопировать быстро. У компьютера-то usb3 есть?

imul ★★★★★ ()

[trolomode]

https://ipmsg.org/tools/fastcopy.html.en для оффтопика

over MAX_PATH (260 characters) file pathnames.

Reading/Writing are processed with no OS cache, as such other applications do not become slow.

It automatically selects different methods according to whether Source and DestDir are in the same or different HDD(or SSD).

It can achieve Reading/Writing performance that is close to device limit.

GPL ver3 license.

[/trolomode]

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)

rsync или cp. Но создание мелких файлов по-любому замедлит процесс - чтобы создать inode и сделать запись в каталоге так или иначе понадобится пара seek'ов и скорость копирования в мб/с просядет относительно максимальной. Этого не избежать вообще никак, если назначение - файловая система на НЖМД. Писать в tar/iso/и т.п. конечно, быстрее.

Впрочем, если ты копируешь пару терабайт по юсб 2.0 то это в любом случае займёт вечность. Если так, то я бы выковырнул диск из коробочки и подключил по сата.

legolegs ★★★★★ ()

Не займёт не преувеличивай. Лил давным давно фильмы по блютусу - 2-3 гига, вполне терпимо.

Ygor ★★★★★ ()
Ответ на: комментарий от Avial

rsync не работает корректно с не линоуксовыми fs, какжись проблема с несоответствием форматов дат файлов, а синхронизировать по контрольным суммам очень долго (проверялось при синхронизации без клиент сервера)

Поэтому либо по кускам копированием, либо попробовать unison или что там есть, вдруг оно корректно сможет работать

Но все портит usb2, скорость никакая

ism ★★★ ()
Ответ на: комментарий от imul

Сбегать в магазин и купить коробку с usb3, перекинуть диск в новую коробку, скопировать быстро. У компьютера-то usb3 есть?

В материнской плате моего компьютера нет usb 3.0. Внешний диск поддерживает usb 3.0, но работает как usb 2.0 в связке с моей материнской платой/процессором

just_a_brake ()

200k файлов в одном каталоге - это медленно

Все вменяемые люди разбивают их на каталоги

наиболее распространённый вариант - взять хэш от имени, и от хэша взять небольшие куски под имена каталогов

$ touch test.txt
$ echo -n 'test.txt' | md5sum
dd18bf3a8e0a2a3e53e2661c7fb53534  -
$ mkdir -p dd/18
$ mv test.txt dd/18/

а уже после этого копируй куда хочешь rsync'ом

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от imul

Сбегать в магазин и купить коробку с usb3, перекинуть диск в новую коробку, скопировать быстро.

Кстати, я как-то раз сделал именно так. Сначала думал оставить копироваться по USB 2, но потом прикинул, сколько это займёт времени, и сколько времени займёт поход до магазина и обратно с последующим копированием через USB 3. Второй вариант оказался быстрее.

i-rinat ★★★★★ ()
Ответ на: комментарий от router

200k файлов в одном каталоге - это медленно

Все вменяемые люди разбивают их на каталоги

У меня каталоги, в которых каталоги, в которых файлы..

наиболее распространённый вариант - взять хэш от имени, и от хэша взять небольшие куски под имена каталогов
а уже после этого копируй куда хочешь rsync'ом

Я не знаю что такое хэши. Что это даст, ничего не поломается?

just_a_brake ()
Ответ на: комментарий от greenman

У него нет sata разъёма на внешнем диске. Распаян контроллер sata-usb прямо на плате. WD так делает.

Так и есть (WD my passport)

just_a_brake ()
Ответ на: комментарий от router

200k файлов в одном каталоге - это медленно

Ерунда. Во всех нормальных фс (а также в ntfs) каталоги - это бинарные деревья с логарифмическим временем поиска. Я проверял.

legolegs ★★★★★ ()
Ответ на: комментарий от legolegs

Ерунда. Во всех нормальных фс (а также в ntfs) каталоги - это бинарные деревья с логарифмическим временем поиска. Я проверял.

А я видел 1М файлов в одном каталоге и крайне медленную скорость работы с ним ( ls -1 -f или find )

router ★★★★★ ()
Ответ на: комментарий от router

Я тоже видел. Не намного медленнее, чем 1000 каталогов по 1000 файлов. Миллион - это всё-таки много, как ни крути. Если у вас так много файлов ls не нужен. А fopen норм работает.

legolegs ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.