У нас есть многократное развертывание приложения на серверах, таких как app00, app01 и так далее. Мне нужно скопировать один файл журнала со всех этих серверов на мой локальный Mac, чтобы я мог выполнить некоторые операции поиска и вырезки.
Я использовал csshX для просмотра этого файла, но я не могу найти эквивалент для scp. Я в основном хочу две вещи:
- Возможность подключения n номеров таких серверов и копирования файла
- Избегайте конфликтов имен локально, возможно, с помощью префикса файла журнала с именем хоста сервера
Как мне это сделать?
Ответы:
Это тривиально, чтобы сделать с небольшим сценарием. Например:
Выше будет скопировать файл с каждого из серверов последовательно и назовите его
SERVERNAME_file
. Таким образом, файл изapp0
будетapp0_file
и т. Д. Очевидно, вы можете изменить имена на что угодно.источник
&
в концеscp
команды и await
в конце, и вы получите параллелизм без дополнительных затрат.Используйте GNU параллельно :
В отличие от решений, которые используют
for
, это будет запускать все загрузки параллельноисточник
источник
Если вы можете использовать python, есть интересный модуль, который упрощает задачи администрирования машины, который называется fabric: http://docs.fabfile.org/en/latest/tutorial.html.
Я хотел использовать это, но не обошлось слишком
источник
Это сработало для меня
источник