千家信息网

五、ansible管理任务计划、ansible安装包和管理服务、使用ansible的playbook

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、ansible管理任务计划# ansible testhost -m cron -a "name='test cron' job='/bin/touch /tmp/1212.txt' weekd
千家信息网最后更新 2026年10月31日五、ansible管理任务计划、ansible安装包和管理服务、使用ansible的playbook

一、ansible管理任务计划

# ansible testhost -m cron -a "name='test cron' job='/bin/touch /tmp/1212.txt'  weekday=6"

name指定任务计划的名字,job指定它的命令是什么,后面指定它的分时日月周,不定义就是*。

[root@yw02 ~]# crontab -l#Ansible: test cron* * * * 6 /bin/touch /tmp/1212.txt

第一行一定不能更改,一旦改了之后,就不能用这个工具对它去做操作了。


若要删除该cron 只需要加一个字段 state=absent

# ansible testhost -m cron -a "name='test cron' state=absent"


其他的时间表示:分钟 minute ,小时 hour ,日期 day ,月份 month 。


二、ansible安装rpm包和管理服务

# ansible testhost -m yum -a "name=httpd"

在name后面还可以加上state=installed/removed 安装/卸载

启动httpd的服务,用到的模块教service:

# ansible testhost -m service -a "name=httpd state=started enabled=yes"

启动服务后,就可以到机器上ps aux看到了。

这里的name是centos系统里的服务名,可以通过chkconfig --list查到。

Ansible文档的使用

ansible-doc -l 列出所有的模块

ansible-doc cron 查看指定模块的文档,相当于系统里面的man配置。


三、使用ansible的playbook

playbook说白了就是把所有的配置搞到一个配置文件里去,然后执行这个配置文件就行了。

相当于把模块写入到配置文件里面,例:

# vi  /etc/ansible/test.yml //加入如下内容---- hosts: yw02  remote_user: root  tasks:    - name: test_playbook      shell: touch /tmp/lishiming.txt

说明: 文件格式,后缀名是yml;第一行需要有三个杠,是固定格式;hosts参数指定了对哪些主机进行操作,如果是多台机器可以用逗号作为分隔,也可以使用主机组,在/etc/ansible/hosts里定义;

user参数指定了使用什么用户登录远程主机操作;

tasks指定了一个任务,其下面的name参数同样是对任务的描述,在执行过程中会打印出来,shell是ansible模块名字。

执行:ansible-playbook test.yml

PLAY [yw02] **************************************************************************************************************************TASK [Gathering Facts] ***************************************************************************************************************ok: [yw02]TASK [test_playbook] ***************************************************************************************************************** [WARNING]: Consider using the file module with state=touch rather than running 'touch'.  If you need to use command because file isinsufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of thismessage.changed: [yw02]PLAY RECAP ***************************************************************************************************************************yw02                       : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0


四、playbook里的变量

再来一个创建用户的例子:

# vi /etc/ansible/create_user.yml //加入如下内容---- name: create_user  hosts: yw02  user: root  gather_facts: false  vars:    - user: "test"  tasks:    - name: create user      user: name="{{ user }}"

说明:

name参数对该playbook实现的功能做一个概述,后面执行过程中,会打印name变量的值 ,可以省略;

gather_facts参数指定了在以下任务部分执行前,是否先执行setup模块获取主机相关信息,这在后面的task会使用到setup获取的信息时用到,如果不写这行就会默认收集facts,如果机器过多,建议就不收集了,影响执行效率,也会给ansible压力。

vars参数,指定了变量,这里指定一个user变量,其值为test ,需要注意的是,变量值一定要用引号引住;

tasks下的user指定了调用user模块,name是user模块里的一个参数,而增加的用户名字调用了上面user变量的值,{{user}}=test。

[root@fuxi01 ansible]# ansible-playbook create_user.yml PLAY [create_user] *******************************************************************************************************************TASK [create user] *******************************************************************************************************************changed: [yw03]PLAY RECAP ***************************************************************************************************************************yw03                       : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

如果这个test用户已经存在了,就不会创建了,changed=0。

模块 参数 任务 变量 配置 服务 主机 文件 用户 机器 管理 一行 信息 内容 名字 就是 文档 格式 系统 过程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融 科技 互联网 科技创新 远信互联网科技 睿民互联网科技 新浪科技互联网 互联网科技论坛 互联网科技股有哪些 华中科技有哪些互联网大佬 博兴的互联网电子科技公司 互联网教育科技公司vipkid 创业天下互联网科技有限公司 互联网科技有哪些公司 成都铂石互联网科技做什么的 翼展科技 首家互联网医院 每天都有哪些好的互联网科技 本届互联网大会上的黑科技 西安有哪些互联网高科技企业 张家口科技产业互联网平台 数字科技和互联网金融哪个好 互联网科技创业计划的风险分析 互联网 的科技创新 世界互联网领先科技成果 腾讯科技 互联网女皇 赫美联合互联网科技 互联网巨头投资的硬核科技 金融科技与互联网金融相同和不同 上海宁丞科技互联网 河南住房之家互联网科技 新氧科技和美国互联网有关系吗 互联网科技创业有什么好项目
0