0

Python で複数のコマンドを呼び出したい。Windowsにパテをインストールしました。

  1. Linux マシンへの ssh

    ssh_command_string: plink -i yourppk.ppk ec2-user@instanceIp
    
  2. そのマシンからファイルを生成するコマンドを呼び出す

    export_project_command_string: ./AppManage -export -out /opt/notme-Facebook.xml -app "Silver Fabric/notme-FacebookPostsExtraction0118" -user username-pw password -domain ion
    
  3. このファイルをダウンロード

    download_command_string: pscp -scp -i yourppk.ppk ec2-user@instanceIp:/opt/notme-Facebook.xml d:\
    

これらのコマンドは、1 つずつテストすると問題ありませんが、Python でそれらを一度に呼び出す方法がわかりません。

次のコードを試しましたが、うまくいきません:

LINE_BUFFERED = 1
    #NOTE: the first argument is a list
    p = Popen(['cat'], shell = True, bufsize=LINE_BUFFERED, stdin=PIPE, stdout = PIPE, stderr = PIPE)
    for cmd in [ssh_command_string, cd_command_string, export_project_command_string, download_command_string]:
        time.sleep(1) # a delay to see that the commands appear one by one
        p.stdin.write(cmd)
        p.stdin.flush()
    # even without .flush() it works as expected on my machine
    p.stdin.close()
4

1 に答える 1

0

サーバー上で繰り返し/自動タスクを実行するには、ファブリックを見てください。

于 2013-03-21T10:15:55.787 に答える