Nano Hash - криптовалюты, майнинг, программирование

Автоматизируйте SCP с несколькими файлами с помощью сценария ожидания

Так что я видел несколько сообщений об этом, и, возможно, я просто не видел нужного.

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

/path/{Install.sh,programWithVerionAfter*\}: No such file or directory

Killed by signal 1. 

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

#!/usr/bin/expect -f

spawn scp /path/\{Install.sh,programWithVerionAfter*\} "root@IP:/tmp/.
expect {
   -re ".*es.*o.*" {
   exp_send "yes\r"
   exp_continue
  }
  -re ".*sword.*" {
    exp_send "Password\r"
  }
}
interact
11.09.2014

Ответы:


1

Я нашел то, что хотел, погуглив гораздо больше. Спасибо за вашу помощь, надеюсь, это поможет другим

http://www.linuxquestions.org/questions/linux-general-1/scp-with-wildcard-in-expect-834813/

#!/usr/bin/expect -f

spawn bash -c "scp /path/* root@IP:/tmp/"
expect {
  -re ".*es.*o.*" {
    exp_send "yes\r"
    exp_continue
  }
  -re ".*sword.*" {
    exp_send "Password\r"
  }
}
interact
11.09.2014
  • Я думаю, что в этом случае вам пригодится команда Tcl glob. 07.10.2014

  • 2

    Вы можете использовать curl для копирования файлов с вашего локального хоста на удаленный хост через sftp (что аналогично копированию с использованием scp во всех смыслах и целях) и указать имя пользователя и пароль в команде, например:

    curl -T /files/to/copy/*  -u username:password ftps://ftpshost.domain.tld/
    
    11.09.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..