Execute remote python script via SSH

前端 未结 4 618
不知归路
不知归路 2021-01-31 05:14

I want to execute a Python script on several (15+) remote machine using SSH. After invoking the script/command I need to disconnect ssh session and keep the processes running in

相关标签:
4条回答
  • 2021-01-31 05:19

    You can even use tmux in this scenario.

    As per the tmux documentation:

    tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal. And do a lot more

    From a tmux session, you can run a script, quit the terminal, log in again and check back as it keeps the session until the server restart.

    How to configure tmux on a cloud server

    0 讨论(0)
  • 2021-01-31 05:23

    If you are going to perform repetitive tasks on many hosts, like for example deploying software and running setup scripts, you should consider using something like Fabric

    Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.

    It provides a basic suite of operations for executing local or remote shell commands (normally or via sudo) and uploading/downloading files, as well as auxiliary functionality such as prompting the running user for input, or aborting execution.

    Typical use involves creating a Python module containing one or more functions, then executing them via the fab command-line tool.

    0 讨论(0)
  • 2021-01-31 05:36

    On Linux machines, you can run the script with 'at'.

    echo "python scriptname.py" ¦ at now

    0 讨论(0)
  • 2021-01-31 05:40

    This might work, or something similar:

    ssh user@remote.host nohup python scriptname.py &
    

    Basically, have a look at the nohup command.

    0 讨论(0)
提交回复
热议问题