为了账号安全,请及时绑定邮箱和手机立即绑定

python自动化运维篇

七寸法师 Python工程师
难度入门
时长 5小时39分
学习人数
综合评分8.50
18人评价 查看评价
9.2 内容实用
8.0 简洁易懂
8.3 逻辑清晰
  • 1、需要导入OS库,OS包括一些操作系统相关的函数,再定义文件编码格式 2、os.getuid()是指获取当前用户,0为默认root用户 3、sys.exit(1) 退出程序,并给错误码1 4、raw_input('') 接收终端输入的字符串 5、cmd = 'wget '+url 组装命令;os.system(**)执行系统命令 6、res != 0: 说明命令执行不成功

    查看全部
  • centos7.6 64位

    ansible 2.7.8

    python 2.7.5

    控制端ip:10.16.168.103

    被控端ip:  10.16.168.104

    1、添加控制主机、

    [root@centos7 ~]# cat /etc/ansible/hosts

    10.16.168.103

    10.16.168.104

    2、ansible控制端端生成秘钥对、

    [root@centos7 ~]# ssh-keygen

    3、将公钥复制到被控端、

    [root@centos7 ~]# ssh-copy-id 10.16.168.103

    [root@centos7 ~]# ssh-copy-id 10.16.168.104

    4、执行ansible的ping模块、

    [root@centos7 ~]# ansible all -m ping

    10.16.168.103 | SUCCESS => {

        "changed": false, 

        "ping": "pong"

    }

    10.16.168.104 | SUCCESS => {

        "changed": false, 

        "ping": "pong"

    }



    查看全部
  • Ansible是一个自动化管理It资源的工具,功能: 1、系统环境配置 2、安装软件 3、持续集成 4、 热回滚 与其他主流软件的对比。
    查看全部
  • 1、需要导入OS库,OS包括一些操作系统相关的函数,再定义文件编码格式 2、os.getuid()是指获取当前用户,0为默认root用户 3、sys.exit(1) 退出程序,并给错误码1 4、raw_input('') 接收终端输入的字符串 5、cmd = 'wget '+url 组装命令;os.system(**)执行系统命令
    查看全部
  • 第二步的操作方式为:主机A,目标远程主机B; 配置前,先在主机A上上使用ssh-keygen生成公私钥对,然后使用命令:ssh-copy-id IP(目标远程主机B),将主机A的公钥传到目标远程主机B上。此时目标远程主机B的/etc/ansible路径下就会有authorized_keys文件。
    查看全部
  • 课程的总结

    查看全部
  • 云运维简介

    查看全部
  • Ansible——Inventory(分组)

    查看全部
  • Ansible——Inventory(分组)

    什么是Inventory

    Ansible可同时操作属于一个组的多台主机,组和主机之间的关系通过inventory文件配置。默认的文件路径为/etc/ansible/hosts

    中文:库存

    作用:分组

    查看全部
  • 总结

    1、运维发展的不同阶段

    2、Python适合运维自动化运维的原因

    3、学以致用,编写一个脚本

    4、注重基础

    查看全部
  • 自动化运维工具

    1、部署类:jenkins

    2、环境类:ansible

    3、监控类:nagios

    主要函数讲解:

    os.system

      功能:执行命令

      返回:命令的返回值

      补充:命令的输出会输出到标准输出

    raw_input()

      功能:暂停程序运行,等待用户输入

      返回:用户输入的内容

    查看全部
  • 1、执行一个长时间的任务、

    [root@centos7 ~]# ansible test -B 60 -P 1 -a "sleep 70"

    10.16.168.103 | FAILED | rc=-1 >>

    async task did not complete within the requested time


    10.16.168.104 | FAILED | rc=-1 >>

    async task did not complete within the requested time


    2、获取jid

    [root@centos7 ~]# ansible test -a "ls /root/.ansible_async"

    10.16.168.103 | CHANGED | rc=0 >>

    921373620331.20393

    921373620331.20393.tmp


    10.16.168.104 | CHANGED | rc=0 >>

    925556219979.18065

    925556219979.18065.tmp

    3、通过获取的jid、拿执行的状态、test[0]、test组中第一个主机、和python列表取值一样、也可以切片、

    [root@centos7 ~]# ansible test[0] -m async_status -a "jid=921373620331.20393"

    10.16.168.103 | SUCCESS => {

        "ansible_job_id": "921373620331.20393", 

        "changed": false, 

        "finished": 0, 

        "started": 1

    }

    [root@centos7 ~]# ansible test[1] -m async_status -a "jid=925556219979.18065"

    10.16.168.104 | SUCCESS => {

        "ansible_job_id": "925556219979.18065", 

        "changed": false, 

        "finished": 0, 

        "started": 1

    }


    查看全部
  • webservers:nginx:&vim:!python:!mysql
    webservers和nginx2个组中的所有主机、同时还要在vim组中、但不在python和mysql组中的主机、
    
    验证hosts文件入下、
    [webservers]
    1.1.1.1
    1.1.1.2
    1.1.1.3
    [nginx]
    1.1.1.1
    1.1.1.4
    1.1.1.5
    1.1.1.6
    1.1.1.7
    [vim]
    1.1.1.2
    1.1.1.6
    [python]
    1.1.1.3
    1.1.1.6
    [mysql]
    1.1.1.4
    1.1.1.7

    NOTE: 超过2个匹配逻辑判断时要用引号引起来、有!非逻辑时、要用单引号把!当成普通字符、""会报错:-bash: !python": event not found、


    如上的hosts文件的结果为:

    [root@centos7 ~]# ansible 'webserver:nginx:&vim:!python:!mysql' --list-hosts

      hosts (1):

        1.1.1.2


    符合猜想、

    查看全部
  • Master节点和minion不要再同一个服务器上,否则会提示错误
    查看全部
  • valut_password_file

    以脚本的形式将密码打印到标准输出中,脚本需要请求数据,请求将会发送到标准错误志宏

    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
1、基础的运维知识 2、python的基础知识 3、linux基础知识
老师告诉你能学到什么?
1、什么是自动化运维 2、如何构建自动化运维系统 3、常见自动化运维工具介绍 4、常见自动化运维工具使用 5、常见自动化运维工具高级使用入门 6、python基础知识预习

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!