среда Linux.Итак, у нас есть программа t_show, которая при выполнении с идентификатором записывает данные о цене для этого идентификатора на консоли.Нет другого способа получить эти данные.
Мне нужно скопировать данные о цене для идентификаторов 1-10 000 между двумя серверами, используя минимальную пропускную способность, минимальное количество соединений.На конечном сервере данные будут представлять собой отдельный файл для каждого идентификатора в формате:
<id>.dat
Примером такого решения станет долгосрочное решение:
dest:
files=`seq 1 10000`
for id in `echo $files`;
do
./t_show $id > $id
done
tar cf - $files | nice gzip -c > dat.tar.gz
source:
scp user@source:dat.tar.gz ./
gunzip dat.tar.gz
tar xvf dat.tar
То есть записывать каждый вывод в свой файл, сжимать и архивировать, отправлять по сети, распаковывать.создать новый файл для каждого идентификатора.Это занимает тонны пространства и плохо масштабируется.
Можно ли записать вывод консоли напрямую в (сжатый) архив tar без создания промежуточных файлов?Какие-нибудь лучшие идеи (возможно, запись сжатых данных непосредственно через сеть, пропуская tar)?
Архив tar нужно будет извлечь, как я сказал на целевом сервере, в виде отдельного файла для каждого ID.Спасибо всем, кто нашел время, чтобы помочь.