Автоматизация сценариев Bash: задействовать копирование файла из источника в dest, выполнение сценария в месте назначения и копирование результата из dest в surce - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть требование создать скрипт автоматизации, который будет выполнять следующие действия в указанном порядке:

  1. Скопировать некоторый скрипт и XML из источника в место назначения.
  2. Запустить скриптв месте назначения
  3. Скопируйте результаты (которые представляют собой файлы) из места назначения в источник.

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

Мне было интересно, есть ли лучший способ сделать то же самое.

Код для копирования файлов с использованием «ожидайте», так как мне нужно передать пароль для scp:

#!/usr/bin/expect -f

set from [lindex $argv 0]
set to [lindex $argv 1]
set pass [lindex $argv 2]
puts "$from, $to and $pass ."
# connect via scp
spawn sudo scp  -v -r $from $to
#######################
expect {
-re ".*es.*o.*" {
exp_send "yes\r"
exp_continue
}
-re ".*sword.*" {
exp_send $pass\n
}
}
interact

1 Ответ

0 голосов
/ 24 апреля 2018

Ваше решение в порядке. Вы можете использовать sshfs для монтирования удаленного каталога на машине src и использовать команду, как этот файл был на машине src.

пример:

sudo sshfs -o allow_other,nonempty user@10.1.2.3:/project /project
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...