У меня есть каталог, содержащий 400 миллионов файлов. Используя find, я создал список всех файлов, который выглядит следующим образом:
/output/custom/31/7/31767937
/output/custom/31/7/317537a
/output/custom/31/7/317537
/output/custom/31/7/317ab
/output/custom/31/7/317bo
/output/custom/31/7/317je
/output/custom/31/7/317ma
/output/custom/31/7/31763
Затем я разделил файл на 20 разных файлов и запустил сценарий для создания 20 разных архивов:
for i in $(ls x*)
do
tar -cf /tar/$i.tar -T $i &
done
Входные файлы находятся на другом диск, чем точка монтирования /tar
. Скрипт работает уже 2 дня, и пройдено около 1/4 пути. Я, вероятно, просто оставлю его включенным на этом этапе. Однако, на будущее, мне интересно, есть ли лучший способ сделать это, чем использование tar
?
Моя конечная цель — переместить эти tar-архивы на 20 разных серверов, разархивировать их и запустить несколько скриптов для файлов. О, и так как у меня есть архивы, я тоже буду помещать их в хранилище S3.