综合大练习

练习1 ,基础模块学习笔记

1.完成于超老师课堂所讲的ansible 基础模块
- 学习笔记
- 模块对应练习实践
- 以后面试人家问你,ansible你经常用哪些模块

ping
command
shell
copy
file
script
cron
group
user
yum
systemd
mount
archive
unarchive

练习2,rsync、nfs、nginx改造为ansible脚本

nginx > nfs > rsync 这一套综合练习,前面是写成了shell脚本形式

1.现在需要你将shell脚本,改造为ansible模块脚本的形式

2.要求ansible的主机组为
nfs
backup
web

3.要求使用技术
ansible
nfs
nginx
lsyncd

4.涉及ansible模块,不限于
yum
copy
group
user
file
copy
systemd
等

参考答案

题目意思是

rsync脚本

# 1.安装rsync
ansible backup -m yum -a 'name=rsync state=installed'

# 2.发送配置文件模板、以及密码文件
ansible backup -m copy -a 'src=/script/rsyncd.conf dest=/etc/rsyncd.conf'
ansible backup -m copy -a 'src=/script/rsync.passwd dest=/etc/rsync.passwd mode=600'



# 3.创建用户、组信息
ansible backup -m group -a 'name=www gid=1000' 
ansible backup -m user -a 'name=www uid=1000 group=www create_home=no shell=/sbin/nologin'

# 4.备份目录创建与授权
ansible backup -m file -a 'path=/backup owner=www group=www mode=755 state=directory '
ansible backup -m file -a 'path=/data owner=www group=www  mode=755 state=directory'

# 5.启动服务,设置开机自启
ansible backup -m systemd -a 'name=rsyncd state=started enabled=yes'




nfs脚本

# 1.安装nfs-utils rpcbind服务
ansible nfs -m yum -a "name=nfs-utils state=installed" 
ansible nfs -m yum -a "name=rpcbind state=installed" 

# 2.创建nfs限定的用户、组
ansible nfs -m group -a "name=www gid=1000"
ansible nfs -m user -a 'name=www uid=1000 group=www create_home=no shell=/sbin/nologin'

# 3.创建共享目录
ansible nfs -m file -a 'path=/data owner=www group=www state=directory'

# 4.拷贝配置文件,发给nfs机器
ansible nfs -m copy -a 'src=/script/exports dest=/etc/exports'

# 5.启动nfs服务,设置开机自启
ansible nfs -m systemd -a 'name=nfs state=started enabled=yes'