Python + paramiko + shell script?

Добрый день!


Передо мной стоит следующая задача — создать SSH соединение с сервером, залить по SFTP файлы (конкретно — сорцы) и запустить там скрипт сборки.

Делаю это на Python с помощью paramiko. Все ок кроме собственно запуска скрипта. Запускаю его через exec_command и вижу только пару первых сообщений и далее скрипт прекращается (именно питоновский, значит exec_command отработал). Подскажите — как правильно подождать завершение работы скрипта и вывести все его сообщения?


Вот вырезки из кода:
paramiko.util.log_to_file('ssh_session.log')
ssh = SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
    ssh.connect(ssh_conf.server_address, ssh_conf.server_port, ssh_conf.login, None, my_pkey, 60)
except:
    print 'Error connect'
    sys.exit(1)

_sftp = ssh.open_sftp()
SyncFolders(_sftp, ssh_conf.source_folder, ssh_conf.dest_folder)

print ssh.exec_command('chmod +x' + ssh_conf.dest_folder + '/build.sh')[1].read()
# iOrange - performing build
print ssh.exec_command('sh ' + ssh_conf.dest_folder + '/build.sh')[1].read()
  • Вопрос задан
  • 4879 просмотров
Пригласить эксперта
Ответы на вопрос 1
EXSlim
@EXSlim
Fabric не подходит?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы