Я разрабатываю API, в котором мне нужны пути нескольких файлов от удаленного сервера. Количество файлов варьируется от 100 - 500. Файлы находятся в различных папках.
Так, я - цикличное выполнение много раз, как 10-50 (в зависимости от количества файлов) времена и затем получение путей с помощью ssh в моем API Python.
Но я хочу оптимизированное решение для этой проблемы. Прямо сейчас я делаю соединение SSH так много раз, как цикл идет, который является медленным, и также не лучшая вещь сделать.
Я думал о копировании /var/lib/mlocate/mlocate.db
из удаленного сервера ежедневно в моей локальной машине и затем находят использование пути locate
команда с помощью этого дб, Если это возможно. ИЛИ Как хранение удаленного каталога индексируют в моей локальной машине, которую я могу запросить более быстро.
Что другие лучшие пути состоят в том, чтобы достигнуть этого?
Это кажется 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
можно также дробить в отношении типов файлов, шаблонов, глубина и т.д...