• ansible 模块之在学习(2)


    unarchive模块:http://docs.ansible.com/ansible/unarchive_module.html
    
    功能:解压缩,这个模块有两种用法:
    
    1、将ansible主机上的压缩包在本地解压缩后传到远程主机上,这种情况下,copy=yes
    
    2、将远程主机上的某个压缩包解压缩到指定路径下。这种情况下,需要设置copy=no
    
    
    参数:
    
    copy:默认为yes,当copy=yes,那么拷贝的文件是从ansible主机复制到远程主机上的,如果设置为copy=no,那么会在远程主机上寻找src源文件
    
    src:源路径,可以是ansible主机上的路径,也可以是远程主机上的路径,如果是远程主机上的路径,则需要设置copy=no
    
    dest:远程主机上的目标路径
    
    mode:设置解压缩后的文件权限
    
    
    命令演示:
    
     
    ansible pms -m unarchive -a 'src=/srv/tomcat8/apache-tomcat-8.0.29.tar.gz dest=/usr/local copy=no mode=0755'
    
    
    get_url模块:http://docs.ansible.com/ansible/get_url_module.html
    
    功能:从http、https、ftp下载文件到远程主机
    
    参数:
    
    url:下载地址
    
    dest:远程主机上的目标径路
    
    mode:设置下载到远程主机后的文件的权限
    
     
    root@host1:/srv# ansible pms -m get_url -a 'url=ftp://ftp.cheyaoshicorp.com/pub/derby.init.sh dest=/tmp'      
    192.168.0.10 | SUCCESS => {
        "changed": true, 
        "checksum_dest": null, 
        "checksum_src": "770a432e9847e594e0154e31c906062585d571e0", 
        "dest": "/tmp/derby.init.sh", 
        "gid": 0, 
        "group": "root", 
        "md5sum": "4564411c7e614859965c9ab5d76df22b", 
        "mode": "0644", 
        "msg": "OK (3934 bytes)", 
        "owner": "root", 
        "size": 3934, 
        "src": "/tmp/tmp5nqAsJ", 
        "state": "file", 
        "uid": 0, 
        "url": "ftp://ftp.cheyaoshicorp.com/pub/derby.init.sh"
    pause 模块   http://docs.ansible.com/ansible/pause_module.html
    
    在playbook执行的过程中暂停一定时间或者提示用户进行某些操作
    
    常用参数:
    
    minutes:暂停多少分钟
    
    seconds:暂停多少秒
    
    prompt:打印一串信息提示用户操作
    
    示例:
    
     - name: wait on user input
    
       pause: prompt="Warning! Detected slight issue. ENTER to continue CTRL-C a to quit" 
    
    - name: timed wait
    
      pause: seconds=30
    
    
    wait_for 模块 http://docs.ansible.com/ansible/wait_for_module.html
    
    在playbook的执行过程中,等待某些操作完成以后再进行后续操作
    
    常用参数:
    
    connect_timeout:在下一个任务执行之前等待连接的超时时间
    
    delay:等待一个端口或者文件或者连接到指定的状态时,默认超时时间为300秒,在这等待的300s的时间里,wait_for模块会一直轮询指定的对象是否到达指定的状态,delay即为多长时间轮询一次状态。
    
    host:wait_for模块等待的主机的地址,默认为127.0.0.1
    
    port:wait_for模块待待的主机的端口
    
    path:文件路径,只有当这个文件存在时,下一任务才开始执行,即等待该文件创建完成
    
    state:等待的状态,即等待的文件或端口或者连接状态达到指定的状态时,下一个任务开始执行。当等的对象为端口时,状态有started,stoped,即端口已经监听或者端口已经关闭;当等待的对象为文件时,状态有present或者started,absent,即文件已创建或者删除;当等待的对象为一个连接时,状态有drained,即连接已建立。默认为started
    
    timeout:wait_for的等待的超时时间,默认为300秒
    
    示例:
    
    - wait_for: port=8080 state=started     #等待8080端口已正常监听,才开始下一个任务,直到超时
    
    - wait_for: port=8000 delay=10    #等待8000端口正常监听,每隔10s检查一次,直至等待超时
    
    - wait_for: host=0.0.0.0 port=8000 delay=10 state=drained    #等待8000端口直至有连接建立
    
    - wait_for: host=0.0.0.0 port=8000 state=drained exclude_hosts=10.2.1.2,10.2.1.3    #等待8000端口有连接建立,如果连接来自10.2.1.2或者10.2.1.3,则忽略。
    
    - wait_for: path=/tmp/foo    #等待/tmp/foo文件已创建
    
    - wait_for: path=/tmp/foo search_regex=completed    #等待/tmp/foo文件已创建,而且该文件中需要包含completed字符串
    
    - wait_for: path=/var/lock/file.lock state=absent    #等待/var/lock/file.lock被删除
    
    - wait_for: path=/proc/3466/status state=absent        #等待指定的进程被销毁
    
    - local_action: wait_for port=22 host="{{ ansible_ssh_host | default(inventory_hostname) }}" search_regex=OpenSSH delay=10    #等待openssh启动,10s检查一次
  • 相关阅读:
    【Android命令行】apktool参数详解
    【Android】ANR+OOM+FC
    如何创建低成本沙箱环境?推荐你使用API仿真!
    关于代码覆盖率,你不可不知的两大陷阱!
    如何借助自动创建单元测试来提高单元测试的投资回报率(ROI)?
    [实用指南]如何使您的旧代码库(遗留代码)符合MISRA C 2012编码规范?
    超实用的10个技巧!让您无论使用哪种静态分析工具都能轻松更新现有的静态分析实现
    主数据管理(MDM)的6大层级简述,你不可不知的数据治理参考!
    【收藏】关于元数据(Metadata)和元数据管理,这是我的见过最全的解读!
    机器学习 | 基于机器学习的供应链管理之销售库存优化分析(实操分享)
  • 原文地址:https://www.cnblogs.com/chenjiaxin--007/p/7576409.html
Copyright © 2020-2023  润新知