一、联网下载、定时任务和防火墙
1.联网下载软件包
get_url:
sersync: 联网下载软件包
url: 具体的软件在互联网上的路径
dest: 下载到具体的目标位置
[root@manager ansible_adhoc]# ansible webservers -m get_url -a "url=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.0-1.el7.x86_64.rpm dest=/tmp"
2.定时任务模块
corn:定时任务模块
name: 定时任务描述
job: 任务具体是什么
minute:分钟
hour:小时
day:天
month:月
weekday:周
[root@manager ansible_adhoc]# ansible webservers -m cron -a "name='backup' hour=5 minute=0 job='/server/script/client_data_server.sh &>/dev/null'"
重新启用
[root@manager ansible_adhoc]# ansible webservers -m cron -a "name='backup2' hour=5 minute=0 month=2 weekday=7 job='/server/script/client_data_server.sh &>/dev/null' disabled=no"
关闭该cron任务
[root@manager ansible_adhoc]# ansible webservers -m cron -a "name='backup2' hour=5 minute=0 month=2 weekday=7 job='/server/script/client_data_server.sh &>/dev/null' disabled=yes"
3.防火墙
selinux: 关闭selinux防火墙
- name: Disable SELinux
selinux:
state: disabled
[root@manager ansible_adhoc]# ansible webservers -m selinux -a "state=disabled"
firewalld: 防火墙
service : 放行服务
port 放行端口
permanent 永久生效
immediate 临时生效
state 启用或禁用 ( enable disabled)
zone 区域
rich_rule 使用复规则
[root@manager ansible_adhoc]# ansible webservers -m systemd -a "name=firewalld state=started"
service
[root@manager ansible_adhoc]# ansible webservers -m firewalld -a "service=https state=enabled zone=public immediate=yes"
port
[root@manager ansible_adhoc]# ansible webservers -m firewalld -a "port=8080/tcp state=enabled zone=public immediate=yes"
停止防火墙
[root@manager ansible_adhoc]# ansible webservers -m systemd -a "name=firewalld state=stopped"
二、Ansible Playbook
1.什么是playbook
playbook是由一个或多个play组成,而一个play可以包含多个task任务。 安装一个nfs ( yum copy systemd )
使用不同的模块来共同完成一件事情。
2.playbook与Ad-Hoc的关系
playbook是对ad-hoc的一种编排方式。 ( yum copy systemd )
playbook可以持久化下来,而ad-hoc只能临时运行。
playbook可以做复杂的任务,ad-hoc只能做简单的任务。
3.Playbook的三板斧
yml语法抒写,结构清晰,可读性强,掌握yml,才能学好playbook
缩进:使用两个空格来表示层级关系 (不能使用tables键)
冒号:以冒号结尾的除外,其他所有的冒号后面都必须要有空格。
短横线:表示列表项,使用一个短横线加一个空格。
使用ansible playbook创建一个文件
[root@manager ansible_playbook]# cat ansible_1.yml
- hosts: webservers
tasks:
- name: create new file
file:
path: /tmp/test.txt
state: touch
owner: root
group: root
mode: 777
playbook编写NFS服务
1.安装 yum
2.配置 copy
3.初始化 group user
4.启动 systemd
[root@manager ansible_playbook]# cat exports.j2
/ansible_data 172.16.1.0/24