ansible常用模块详解

本文详细介绍Ansible中的多种核心模块,包括command、shell、script、ping、user等,并提供了丰富的使用示例,帮助读者掌握Ansible自动化运维的具体实践。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
ansible常用模块详解:
    ansible <host-pattern> [-m module_name] [-a args] [options] #ansible命令格式
         指定主机组或ip地址     指定调用模块   传递给模块的参数  
    ansible-doc -l             #列出可用模块
    ansible-doc -s model_name     #查看指定模块详细用法
     
 
command:ansible默认模块,对指定主机执行命令,不能理解特殊字符
    例:ansible web -'date' #对web组里的主机执行date命令,web需要在hosts中定义
     
     
shell:执行命令操作,比command更强的,能够理解特殊字符
    例:
        ansible web -m shell -'useradd www'
        ansible web -m shell -'echo centos | passwd --stdin www'
 
         
script:将本地主机的脚本放到远程主机执行
    例:(脚本自己写)
        ansible web -m script -'/root/test.sh'
         
     
ping:测试远端主机是否在线
    例:ansible web -m ping
     
user:用户管理模块
    常用参数:
        name=           #指定用户名(必须指定)
        state=present/absent    #添加/删除用户
        system=yse/no       #是否创建为系统用户
        uid=            #指定用户uid
        shell=          #指定用户shell环境
        home=           #指定用户家目录
        group=          #指定用户组
        groups=         #指定用户组附加组,以”,“分隔
         
    例:
             ansible web -m user -a  'name=HR state=present system=yes uid=100 groups=root,ntp shell=/bin/csh home=/home/HR_home'
                #创建用户
         ansible web -m user -a  'name=HR state=absent' #删除用户
 
group:组管理模块
    常用参数:
        gid=            #指定组gid
        name=           #指定组名(必须指定)
        state=present/absent    #添加/删除组
        system=yse/no       #是否创建为系统组
 
         
cron:计划任务管理模块
    name           #任务计划的描述信息(必须指定)
    minute           #分(0-59 ,* ,*/2)
    hour           #时(0-23 ,* ,*/2)
    day           #日(1-31 ,* ,*/2)
    month           #月(1-12 ,* ,*/2)
    weekday        #周(0-6 ,*)
    job=path           #执行的命令的绝对路径
    backup=yes/no      #是否先备份再创建新的任务计划
    user           #以哪个用户新建任务计划,默认 root
    state=present/absent    #创建删除计划任务
 
    例:
    ansible web -m cron -'name=A user=root job="/bin/date &>/dev/null" weekday="*/1" state=present'
     
     
copy:文件分发模块
    常用参数:
        src=path        #指定源文件路径
        dest=path       #指定保存文件路径(必须指定)
        mode=           #拷贝到远程主机上的文件权限
    例: 
        ansible web -m copy -'src=/abc dest=/root mode=600'
        #注意:拷贝文件夹是在文件夹默认加上"/"表示只拷贝文件夹里的内容不拷贝目录
     
     
yum模块:基于yum源安装程序
    常用参数:
        name=       #安装程序名(必须指定)   
        state=  #present:安装    latest:安装最新版    absent:卸载 
    例:
        ansible web -m yum -'name=httpd state=latest'  
     
     
service模块:服务管理模块
    常用参数:
        name=         #服务名称
        state=stopped/started/restarted/reloaded  #停止/启动/重启/重读配置文件
        enabled=yes/no    #是否开机自启动             
 
setup模块:系统信息收集
    例:
        ansible web -m setup
         
         
        


本文转自  红尘世间  51CTO博客,原文链接:http://blog.51cto.com/hongchen99/1921695
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值