Python脚本可通过SSH推送文本文件命令

时间:2018-10-28 08:30:22

标签: python ssh

我正在尝试找到一种解决方案(如果可能的话)来创建一个python脚本,该脚本通过ssh推送配置文本文件(命令批〜1000行)。

到目前为止,我有一个解决方案,可以推送少量命令,但是当行数为1000时,它不适用。

1 个答案:

答案 0 :(得分:2)

您听说过Ansible吗?它完成了您想要做的工作,并且大部分是用python编写的。

  

应用程序部署,配置管理和编排-全部来自   一个系统。 Ansible是简单,无代理的自动化,任何人都可以   使用。

Ansible Documentaion

长话短说,您编写了playboks(.yaml模板)。简而言之,剧本是真正简单的配置管理和多机部署系统的基础,与现有的系统不同,它非常适合部署复杂的应用程序。

示例剧本:

---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum:
      name: httpd
      state: latest
  - name: write the apache config file
    template:
      src: /srv/httpd.j2
      dest: /etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running
    service:
      name: httpd
      state: started
  handlers:
    - name: restart apache
      service:
        name: httpd
        state: restarted

当您创建适合您需要的剧本时,只需在您的机器或其中的机器上运行它即可。有大量modules可供ansible随时使用。您还可以编写自己的插件。