Получать данные из репозитория параллельно

Я мог бы попробовать что-то вроде этого ...

Сначала используйте awk для динамической генерации сценария оболочки:

awk '
  /NAME:/ {
    name=gensub(/\"/, "", "g", substr($0, 7))
  }
  /PATH:/ {path=$2}
  name && /=====/ {
    printf "mkdir \"%s\"\n", name
    printf "rsync -a \"%s/\" \"%s/\"\n", path, name
  }
'

С учетом вашего ввода это сгенерирует:

rsync -a "./a/b/v/c/" "John/"
rsync -a "./c/s/d/f/" "Jo/"
rsync -a "./q/n/h/l/" "Je/"

Затем запустите эту оболочку сценарий. Вы можете объединить это в одну операцию:

awk '
  /NAME:/ {
    name=gensub(/\"/, "", "g", substr($0, 7))
  }
  /PATH:/ {path=$2}
  name && /=====/ {
    printf "mkdir \"%s\"\n", name
    printf "rsync -a \"%s/\" \"%s/\"\n", path, name
  }
'

Я использую rsync здесь для копирования, но, конечно, вы можете просто использовать cp -r .

Также я заметил, что в вашем коде вы используете *. * . Вероятно, это не то, что вам нужно, если вы не имеете в виду «копировать только файлы, содержащие точку где-нибудь в имени файла».

Обновление

Я изменил это так, чтобы оно работало правильно:

============
NAME: "John Frederick"
TIME: 12:31:25
PATH: ./a/b/v/c   #to some data related to the person
============
1
02.12.2017, 22:14
3 ответа

En mi opinión es porque no es necesario.

Actualmente, los procesos de actualización típicos (apt, yum, etc. )no tienen un ancho de banda limitado en general. La fracción de tiempo del proceso de actualización que se dedica a descargar archivos o paquetes del repositorio no es significativa (segundos )o puede que no se mejore significativamente agregando paralelización [ya que si el ancho de banda es un problema, la paralelización puede empeorarlo].

Hay otras limitaciones. Apt, por ejemplo, ni siquiera admite 2 operaciones simultáneas, mientras que yum o emerge, por ejemplo, sí lo hacen. Estas limitaciones que pueden existir para limitar la complejidad o simplemente porque no son realmente un problema para los usuarios y administradores de sistemas cotidianos.

La complejidad y el rendimiento requieren esfuerzo, lo que significa que debe justificarse hasta cierto punto antes de gastar el esfuerzo.

Sin embargo, si realmente desea continuar con esto, generalmente es posible:

5
27.01.2020, 23:16

Es posible. Así, por ejemplo, en el dnf -de Fedora, dnf permite descargar más de un paquete a la vez, mientras que yum no lo permite. Aunque apt, por sí solo puede no ser capaz de lograr esto, y no hay una extensión oficial de apt para proporcionar descargas paralelas. Pero apt -fast podría ser lo que está buscando. Sin embargo, tendrá que hacer algunas configuraciones. Esto podría ser útil.
https://www.cyberciti.biz/faq/how-to-speed-up-apt-get-apt-command-ubuntu-linux/

0
27.01.2020, 23:16

Es posible, y se han propuesto e incluso codificado muchas mejoras útiles, pero existen obstáculos:

  1. Las diversas propuestas suelen ser mutuamente excluyentes.

    Los sistemas de embalaje más populares son insuficientemente modulares y extensible, de modo que los diversos protocolos centrados en distribuciones innovadoras -y los métodos no pueden funcionar bien juntos, lo que impide el crecimiento de sus respectivas bases de usuarios y mindshares. por ejemplo, hay actualmente no hay una manera fácil de combinar los beneficios de los útiles por separado aptos -métodos de transporte y cosas similares; es decir, por separado uno puede tener selectivamente servidores locales de caché apt , apt over tor , repositorios cebolla , descargas aria , deb -deltas , jigdo , torrents , etc. pero estos no pueden pueden apilarse o entubarse fácilmente juntos.

    Los métodos técnicamente más prometedores son los que proponen torrents o algún torrent -como protocolo, cuando tal los protocolos están bien hechos, la disponibilidad aumenta con la demanda.

  2. Los mantenedores de servidores y sistemas de empaquetado tienden a ser conservadores y cautelosos y tienen acceso a hardware y redes más rápidos que la mayoría usuarios --que hace que las quejas de velocidad parezcan hardware de usuario lento asuntos. Posiblemente su conservadurismo sea un prerrequisito de la cultura corporativa/académica que rige en esos edificios y campus donde los grandes servidores son --calificaciones, títulos, salarios, tenencias, pequeñas luchas internas, acaparamiento de créditos, rechazo, etc. tal arribismo defensivo, no es de extrañar que no haya menos innovación.

0
27.01.2020, 23:16

Теги

Похожие вопросы