LINUX.ORG.RU
решено ФорумAdmin

Запуск скрипта через SSH


0

1

На удаленной машине лежит скрипт, который нужно запускать через ssh из локального скрипта (с этим проблем нет). Нужно узнать закончил ли выполнение удаленный скрипт и если закончил, то продолжить выполнения локального. Не пойму как это можно сделать!?

Заранее благодарю!

Ответ на: комментарий от fr_butch

От команды, да. Конечно при условии что по ssh зацепиться получится

cx ★★
()
Ответ на: комментарий от fr_butch

Локальный скрипт:


#!/bin/bash
 ssh user@host /path/to/remote_script
commanda1
...........
commandN 

Нужно выполнять commanda1 и последующие после того как закончит выполнение remote_script Как такое сделать? Код завершение идет от ssh!!!

leha7hostel
() автор топика
Ответ на: комментарий от leha7hostel

Нужно выполнять commanda1 и последующие после того как закончит выполнение remote_script

В общем, такое поведение по-умолчанию. Возможно /path/to/remote_script этот скрипт уходит в бэкграунд и освобождает ssh.

можно попробовать так ssh user@host '/path/to/remote_script & wait'

sdio ★★★★★
()
Ответ на: комментарий от leha7hostel
[c0_c4] ~$ ssh user@srv.ru "~/return.sh"
[c0_c4] ~$ echo $?
10
user@srv:~$ cat return.sh
#!/bin/bash
exit 10

В твоем примере command1 запустится после того как закончится выполнение remote_script, независимо от кода выхода. Чтобы запускать только после успешного выполнения - как уже сказали используй && или отталкивайся от $?

cx ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.