Получите путь к файлу по ssh

Я разрабатываю API, в котором мне нужны пути нескольких файлов от удаленного сервера. Количество файлов варьируется от 100 - 500. Файлы находятся в различных папках.

Так, я - цикличное выполнение много раз, как 10-50 (в зависимости от количества файлов) времена и затем получение путей с помощью ssh в моем API Python.

Но я хочу оптимизированное решение для этой проблемы. Прямо сейчас я делаю соединение SSH так много раз, как цикл идет, который является медленным, и также не лучшая вещь сделать.

Я думал о копировании /var/lib/mlocate/mlocate.db из удаленного сервера ежедневно в моей локальной машине и затем находят использование пути locate команда с помощью этого дб, Если это возможно. ИЛИ Как хранение удаленного каталога индексируют в моей локальной машине, которую я могу запросить более быстро.

Что другие лучшие пути состоят в том, чтобы достигнуть этого?

1
задан 23 February 2018 в 20:38

1 ответ

дерево

Это кажется tree очень быстро при создании списка всех путей к файлам. С SSH, и в контексте Вашего сценария, команда могла быть похожей на это

ssh user@host "tree -if --noreport /your/base/directory" > /tmp/tree.output

- я, чтобы иметь этот подобный пакету вывод вместо аккуратного графического дерева
- f для печати префикса полного пути для каждой строки
- noreport для отключения последних двух строк с тех пор tree добавляет пустую строку и сводку найденных файлов/каталогов

Вывод был бы похож на это

/var
/var/backups
/var/backups/alternatives.tar.0
/var/backups/alternatives.tar.1.gz
/var/backups/apt.extended_states.0
/var/backups/apt.extended_states.1.gz
/var/backups/apt.extended_states.2.gz
/var/backups/aptitude.pkgstates.0
/var/backups/dpkg.arch.0
/var/backups/dpkg.arch.1.gz

Вы могли бы хотеть взглянуть на страницу справочника здесь, видеть некоторые опции о том, как символьные ссылки отображены с -l, и т.д.


найти

find мог также использоваться для той же цели

ssh user@host "find /your/base/directory" > /tmp/find.output

снова, Вы могли бы хотеть проверить, как Вы имеете дело с символьными ссылками в странице справочника.
С find можно также дробить в отношении типов файлов, шаблонов, глубина и т.д...


2
ответ дан 7 December 2019 в 13:26

Другие вопросы по тегам:

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