Jump to content
Форум по продукции MOXA

...как подобрать альтернативу


Recommended Posts

Доброго времени суток! С Новым Годом!!! Удачи во всём и крепкого здоровья!!!

Имеется вот такой скрипт:

#!/bin/bash
#

user="www-data"
ip="192.168.0.240"

export DISPLAY=:0; export SSH_ASKPASS=./askpass.sh;
#export DISPLAY=:0; export SSH_ASKPASS="www-data";
setsid ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF 2>&1
#ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF 2>&1
ls
df
EOF

Это доступ из одного устройства (UC-7112-Lx-plus/IA240) по SSH к другому. Тут после регистрации одно устройство выполняет команды "ls" и "df' на другом устройстве как пример... и отключается. Предполагается заставить устройство компилировать исходник для самого себя на обычной машине и скачивать себе исполняемый файл... ведь я так и не смог установить GCC на устройство... НО:

на MOXA нет возможности выполнить "setsid"... он это не умеет.

Прошу помощи... как обойти сие ограничение?

Либо поставить на устройство GCC, либо реализовать на нём "setsid"

Заранее спасибо.

Link to comment

А вот это:

#!/bin/bash
#

user="www-data"
ip="192.168.0.240"
_sshcmd=""
str=""

export SSH_ASKPASS=./askpass.sh

function sshcmdwork()
{
str=$(
setsid ssh -o StrictHostKeyChecking=no -T $user@$ip << EOF 
$_sshcmd
EOF
)
}

_sshcmd="ls"
sshcmdwork
echo ":$str"
_sshcmd="df"
sshcmdwork
echo ":$str"
_sshcmd="free"
sshcmdwork
echo ":$str"

тест, который предположительно станет заготовкой. Испытано на PC с Debian. Поучает доступ к UC-7112-LX-plus, выполняет команды на нём и выводит результат в переменную "str".на PC

Link to comment

И вот это (добавить в ранее указанный скрипт):

#копирование директории на удалённый хост
function scpdirtoremote()
{
	setsid scp -r $_localdir $user@$ip:$_remotedir
}

#копирование директории на локальный хост
function scpdirtolocal()
{
	setsid scp -r $user@$ip:$_remotedir $_localdir
}

для работы с каталогами как на локалке, та и на удалёнке... таким образом можно автоматом заливать иходники, компилировать и забирать исполняемый файл. вот только как быть с SETSID?

Link to comment

С НОВЫМ ГОДОМ!! :):rolleyes::P:D

 

Ну вот!!! С НОВЫМ ГОДОМ!!! :) Вот беда... как водки попью, так на подвиги тянет. :D Раньше на другие, а сейчас на эти :lol:

Link to comment
  • 3 years later...

Доброго времени суток!

Решение найдено... кривое но работает:

1) На некой машине с Linux имеется компилятор для устройства и некий "умный" скрипт, который запускается при включении. На ней же и доступный для устройства NFS.

2) На устройстве примонтирована директория NFS ттой самой машины. Устройство производит некие(соответствующие) действия и сохраняет командный файл.

3) "Умный" скрипт на машине Linux найдя этот командный файл что-то компилирует.

4) Устройство запускает результат той компиляции, даже не загружая себе... NFS ведь общий как для устройства, так и для машины с Linux.

Всё это сейчас активно использую. Спасибо NFS!!!!  :rolleyes:

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...