scp (v4) копирование с удаленного на несколько локальных имен файлов

Я сделал кучу googling, и я думаю, что то, что я пытаюсь сделать, невозможно с openssh / scp v4.x, но хотел спросить здесь, если у кого-то есть творческое решение.

Я хочу скопировать несколько файлов с удаленного хоста (я не хочу, чтобы весь каталог, но я знаю имена файлов, и они являются статическими именами), в локальный каталог, но я хочу, чтобы у каждого файла было новое имя. Я хочу, чтобы имя машины предварительно перенесено на имя файла.

Кроме того, причина, по которой я пытаюсь сделать это, состоит только в том, что для каждого удаленного хоста (1) не требуется 1 логин (без ключей ssh) (не нужно вводить пароль для каждого файла).

вот что у меня есть:

machine="server1.nyc.ny" logdir="/var/log/jboss" logs="garbage.log splunk.log jboss.log" for BOX in ${machine[@]};do scp $BOX:$logdir/\{"${logs[0]}","${logs[1]}","${logs[2]}"\} ./ done 

это работает для получения всех файлов с 1 логином на удаленный хост, но в конечном итоге у меня будет несколько удаленных хостов, поэтому я хочу предварительно подставить имя машины в имя файла журнала – то есть: server1.nyc.ny-garbage. журнал

тот же синтаксис для получения файлов не работает для назначения. мой ssh ​​/ scp – v4, поэтому я не могу использовать опции ControlPersist.

любые творческие решения? Большое спасибо!

ps: массив имен файлов журналов здесь не нужен, но я использую его, потому что некоторые пользователи имеют ключи ssh, поэтому вложенные петли, использующие эти массивы, отлично подходят для них. Мне нужно решение для пользователей, у которых нет ключей ssh, и, следовательно, минимизируйте количество ввода пароля.

  • Преобразовать индекс цикла bash в плавающую точку
  • Когда sh является символической ссылкой на bash или тире, bash ограничивает себя соблюдением POSIX, поэтому он должен быть на 100% совместим с sh?
  • Логротация файла
  • печать в awk
  • распаковать вложенные .zip-файлы по сценарию оболочки
  • выйти из сценария оболочки из подоболочки
  • Скрипт для обеспечения работы только одного экземпляра Oracle
  • Логический И в сценарии bash
  • One Solution collect form web for “scp (v4) копирование с удаленного на несколько локальных имен файлов”

    Возможно, мне что-то не хватает, но похоже, что вам просто нужен дополнительный mv шаг для переименования скопированных файлов. Что-то вроде:

     machine="server1.nyc.ny" logdir="/var/log/jboss" logs="garbage.log splunk.log jboss.log" targets="" for BOX in ${machine[@]};do scp $BOX:$logdir/\{"${logs[0]}","${logs[1]}","${logs[2]}"\} ./ for log in ${logs[@]}; do mv "$log" $BOX_"$log" done done 
    Interesting Posts

    Iptables: сопоставление исходящего трафика с conntrack и владельцем. Работает со странными каплями

    mdadm 2x Raid 5 недостающих дисков

    Имеют ли программы доступ к таким инструментам, как grep, sed, tr или sort из-за их эффективности?

    bash: Я сломал ]

    Как память RES, сообщенная для процесса Java, будет выше, чем память VIRT?

    Из сценария оболочки выполните другой с аргументами и получите код возврата

    Верхняя и нижняя панели исчезли в Ubuntu 10.10 (Gnome)

    Как определить ошибку в определенном файле при проверке контрольной суммы (какой файл имеет проблему при проверке) в сценарии оболочки

    Запустите два скрипта с init.d

    Выполнить код в скрипте выхода, если он выходит из определенного каталога?

    Легкий способ восстановления вашей ПАНЕЛИ

    Как определить адрес диска scsi на FreeBSD?

    Согласно статистике сокетов Apache слушает только на IPv6, но на самом деле также обслуживает IPv4

    Мош не пересоединяется

    Изменение файлов внутри моментального снимка (файл qemu img)

    Linux и Unix - лучшая ОС в мире.