zoukankan      html  css  js  c++  java
  • Ansible模块

    1、Ansible copy模块 Ansible copy模块主要用于文件或者目录拷贝,支持文件、目录、权限、用户组功能,

    src                Ansible端源文件或者目录,空文件夹不拷贝;
    content            用来替代src,用于将指定文件的内容,拷贝到远程文件内;
    dest                客户端目标目录或者文件,需要绝对路径;
    backup            拷贝之前,先备份远程节点上的原始文件;
    directory_mode    用于拷贝文件夹,新建的文件会被拷贝,而老旧的不会被拷贝;
    follow            支持link文件拷贝;
    force            覆盖远程主机不一致的内容;
    group            设定远程主机文件夹的组名;
    mode            指定远程主机文件及文件及的权限;
    owner            设定远程主机文件夹的用户名。

    1)Ansible copy模块操作,src表示源文件,dest表示目标目录或者文件,owner指定拥有者

    ansible -k all -m copy  -a  'src=if.sh  dest=/tmp/  mode=755  owner=root'

    2)Ansible copy模块操作,content文件内容,dest目标文件,owner指定拥有者

    ansible -k all -m copy  -a  'content="Hello World"  dest=/tmp/if.sh  mode=755  owner=root'

    3)Ansible copy模块操作,content文件内容,dest目标文件,owner指定拥有者,backup=yes开启备份

    ansible -k all -m copy  -a  'content="Hello World"  dest=/tmp/jf.sh backup=yes mode=755  owner=root'

    2、Ansible yum模块 Ansible yum模块主要用于软件的安装、升级、卸载

    conf_file                        设定远程yum执行时所依赖的yum配置文件
    disable_gpg_check                安装软件包之前是否坚持gpg  key;
    name                        需要安装的软件名称,支持软件组安装;
    update_cache                    安装软件前更新缓存;
    enablerepo                    指定repo源名称;
    skip_broken                      跳过异常软件节点;
    state                            软件包状态,包括:installed、present、latest、absent、removed。

    1)Ansible yum模块操作,name表示需安装的软件名称,state表示状态,常见state= installed表示安装软件

    ansible  all  -k  -m  yum  -a  "name=sysstat,screen  state=installed"

    2)Ansible yum模块操作,name表示需安装的软件名称,state表示状态,常见state= absent表示安装软件

    ansible  all  -k  -m  yum  -a  "name=sysstat  state=absent"

    3)Ansible yum模块操作,name表示需安装的软件名称,state表示状态,常见state= installed,表示安装软件,disable_gpg_check=no不检查key

    ansible  192.168.0.112  -k  -m  yum  -a  "name=sysstat,screen  state=installed disable_gpg_check=no"

    3、ansible file 模块

    Ansible file模块主要用于对文件的创建、删除、修改、权限、属性的维护和管理

    src                    Ansible端源文件或者目录;
    follow                支持link文件拷贝;
    force                覆盖远程主机不一致的内容;
    group                设定远程主机文件夹的组名;
    mode                指定远程主机文件及文件及的权限;
    owner                设定远程主机文件夹的用户名;
    path                    目标路径,也可以用dest,name代替;
    state                    状态包括:file、link、directory、hard、touch、absent;
    attributes                文件或者目录特殊属性。

    1)Ansible file模块操作,path表示目录的名称和路径, state=directory表示创建目录

    ansible  -k  192.168.* -m  file  -a  "path=/tmp/`date +%F`  state=directory  mode=755"

    2)Ansible file模块操作,path表示目录的名称和路径, state=touch表示创建文件

    ansible  -k  192.168.* -m  file  -a  "path=/tmp/`date +%F`  state=touch  mode=755"

    4、Ansible user模块Ansible user模块主要用于操作系统用户、组、权限、密码等操作

    system                          默认创建为普通用户,为yes则创建系统用户;
    append                            添加一个新的组;
    comment                         新增描述信息;
    createhome                         给用户创建家目录;
    force                            用于删除强制删除用户;
    group                            创建用户主组;
    groups                            将用户加入组或者附属组添加;
    home                            指定用户的家目录;
    name                            表示状态,是否create、remove、modify;
    password                            指定用户的密码,此处为加密密码;
    remove                            删除用户;
    shell                                设置用户的shell登录环境;
    uid                                设置用户id;
    update_password                     修改用户密码;
    state                               用户状态,默认为present表示新建用户

    1)Ansible user模块操作,name表示用户名称,home表示其家目录

    ansible  all  -m   user   -a   "name=nihao   home=/tmp/"

    2)Ansible user模块操作,name表示用户名称,home表示其家目录

    ansible  all  -m   user   -a   "name=nihao   home=/tmp/ shell=/sbin/nologin"

    3)Ansible user模块操作,name表示用户名称,state=absent表示删除用户

    ansible all -m user -a "name=nihao state=absent force=yes"

    5、Ansible cron模块主要用于添加、删除、更新操作系统Crontab任务计划

    name                          任务计划名称;
    cron_file                     替换客户端该用户的任务计划的文件;
    minute                        分( 0-59 ,* ,*/2 );
    hour                          时( 0-23 ,* ,*/2 );
    day                           日( 1-31 ,* ,*/2 );
    month                         月( 1-12 ,* ,*/2 );
    weekday                       周( 0-61-7 ,* );
    job                           任何计划执行的命令,state要等于present;
    backup                        是否备份之前的任务计划;
    user                          新建任务计划的用户;
    state                         指定任务计划present、absent。

    1)Ansible cron模块操作,基于cron模块,创建crontab任务计划

    ansible    all  -m  cron  -a  "minute=0  hour=0  day=*  month=*  weekday=* name='Ntpdate server for sync time'   job='/usr/sbin/ntpdate 139.224.227.121'"

    2)Ansible cron模块操作,基于cron模块,备份crontab任务计划,backup=yes表示开启备份,备份文件存放于客户端/tmp/

    ansible    all  -m  cron  -a  "minute=0  hour=0  day=*  month=*  weekday=* name='Ntpdate server for sync time'  backup=yes job='/usr/sbin/ntpdate  pool.ntp.org'"

    3)Ansible cron模块操作,基于cron模块,删除crontab任务计划

    ansible  -k  all  -m  cron  -a  "name='Ntpdate server for sync time'  state=absent"

    6、Ansible synchronize模块主要用于目录、文件同步,基于Rsync命令同步目录,

    compress                        开启压缩,默认为开启;
    archive                         是否采用归档模式同步,保证源和目标文件属性一致;
    checksum                        是否效验;
    dirs                            以非递归的方式传输目录;
    links                           同步链接文件;
    recursive                       是否递归yes/no;
    rsync_opts                      使用rsync 的参数;
    copy_links                      同步的时候是否复制连接;
    delete                          删除源中没有而目标存在的文件;
    src                          源目录及文件;
    dest                    目标目录及文件;
    dest_port                       目标接受的端口;
    rsync_path                      服务的路径,指定 rsync 命令来在远程服务器上运行;
    rsync_timeout                   指定rsync操作的IP超时时间;
    set_remote_user                 设置远程用户名;
    --exclude=.log                  忽略同步.log结尾的文件;
    mode                        同步的模式,rsync同步的方式PUSH、PULL,默认都是推送push。

    1)Ansible synchronize模块操作,src源目录、dest目标目录

    ansible  -k  all -m synchronize  -a 'src=/tmp/ dest=/tmp/'

    2)Ansible synchronize模块操作,src源目录、dest目标目录、compress=yes开启压缩、delete=yes数据一致、rsync_opts同步参数、--exclude排除文件

    ansible  -k  all  -m synchronize  -a 'src=/tmp/ dest=/tmp/ compress=yes delete=yes rsync_opts=--no-motd,--exclude=.txt'

    7、nsible shell模块主要用于远程客户端上执行各种Shell命令或者运行脚本,远程执行命令通过/bin/sh环境来执行,支持比command更多的指令

    Chdir                    执行命令前,切换到目录;
    Creates                    当该文件存在时,则不执行该步骤;
    Executable                换用shell环境执行命令;
    Free_form                需要执行的脚本;
    Removes                    当该文件不存在时,则不执行该步骤;
    Warn                    如果在ansible.cfg中存在告警,如果设定了False,不会警告此行。

    1)Ansible shell模块操作,-m shell指定模块为shell,远程执行Shell脚本,远程执行脚本也可采用script模块。并把执行结果追加至客户端服务器/tmp/var.log文件

    ansible -k all -m shell -a "/bin/sh /tmp/if.sh >>/tmp/var.log"

    2)Ansible shell模块操作,远程执行创建目录命令,执行之前切换在/tmp目录,屏蔽警告信息

    ansible -k all -m shell -a "mkdir -p `date +%F` chdir=/tmp/ state=directory warn=no"

    3)Ansible shell模块操作,-m shell指定模块为shell,远程客户端查看http进程是否启动

    ansible all -m shell -a "ps -ef|grep httpd "

    4)Ansible shell模块操作,-m shell指定模块为shell,远程客户端查看crontab任务计划

    ansible all -m  shell -a "crontab -l "

    8、Ansible service模块主要用于远程客户端各种服务管理,包括启动、停止、重启、重新加载等

    enabled                是否开启启动服务;
    name                服务名称;
    runlevel                服务启动级别;
    arguments            服务命令行参数传递;
    state                    服务操作状态,状态包括started, stopped, restarted, reloaded

    1)Ansible service模块操作,远程重启httpd服务

    ansible -k all  -m  service  -a  "name=httpd  state=restarted"

    2)Ansible service模块操作,远程重启网卡服务,指定参数ens33

    ansible  -k   all  -m  service  -a  "name=network   args=ens33  state=restarted"

    3)Ansible service模块操作,远程开机启动nfs服务

    ansible -k all  -m  service  -a  "name=nfs  enabled=yes  runlevel=3,5"
  • 相关阅读:
    JMeter网站测试分析
    JMeter元件的作用域和执行顺序
    JMeter脚本录制
    认识Jmeter工具
    Fiddler 只取所需
    Fiddler设置代理(PC和Android)
    Fiddler获取https会话
    Fiddler 你需要了解的
    关于excel的导入导出
    第十章、random模块
  • 原文地址:https://www.cnblogs.com/legenidongma/p/10756205.html
Copyright © 2011-2022 走看看