В моей работе с моим профессором я должен подключиться к нашему серверу через ssh, а оттуда - через каждый узел ssh для запуска наших программ.Я пытаюсь написать программу на Python, которая позволит мне делать все, что мне нужно сделать на удаленном узле, с моей локальной машины.Команды, которые я буду выполнять на узлах:
- cp файлы с локального компьютера на удаленные узлы
- запуск программы на каждом узле
- получение файлов изузлы на моем локальном компьютере
- , возможно, позволяют копировать фортран-программу и компилировать ее на узлах, а также проверять узлы, чтобы увидеть, запущены ли какие-либо программы.
Сейчас я создаю свои входные файлы на своем локальном компьютере, копирую их на сервер, затем копирую файлы на каждый узел и запускаю нашу программу Fluid_dynamics на каждом узле.Затем я делаю обратное, чтобы вернуть наш вывод обратно на мою локальную машину.
Я смотрел на paramiko, но не могу понять, как я могу использовать его для передачи с моей локальной машины на узлы, потому что я должен идтичерез сервер.local -ssh -> server -ssh -> node
Есть ли способ сделать это в python или я должен попробовать что-то еще, например: using:
os.system(ssh -t server ssh node 'command')
илискрипты bash на сервере для каждой из различных команд (compile.sh, move_inputs.sh, retrieve_outputs.sh), а затем просто подключитесь к серверу и запустите скрипты bash.
Извините, если этого не произойдетимеет смысл или, если он сформулирован плохо, любая помощь приветствуется.
Дополнительная информация: причина, по которой я использую python, заключается в том, что я хочу, чтобы программа могла создавать входные файлы, отправлять их на узлы и получать выходные файлы, и, наконец, генерировать графики наших данных.У меня уже есть некоторый код для генерации наших входных файлов и для построения графиков из выходных данных.