模块讲解
1,cron模块
两种状态(state):present表示添加(可以省略),absent表示移除。
ansible-doc -s cron #查看cron模块信息
ansible mysql -m cron -a 'minute="*/1" job="/bin/echo hello" name="ni"'
ansible mysql -a 'crontab -l'
ansible mysql -m cron -a 'name="ni" state=absent' #移除计划任务,假如该计划任务没有取名字,
在mysql上面查看邮件。
2,user模块
user模块是请求的是useradd, userdel, usermod三个指令
ansible-doc -s user
ansible mysql -m user -a 'name="su"' #创建用户su
ansible mysql -m command -a 'tail /etc/passwd'
ansible mysql -m user -a 'name="su" state=absent' #删除用户su
扫描二维码关注公众号,回复:
13148014 查看本文章

3,group模块
group模块请求的是groupadd, groupdel, groupmod三个指令
ansible-doc -ssh-add group
ansible mysql -m group -a 'name=mysql gid=306 system=yes'
ansible mysql -a 'tail /etc/group'
ansible mysql -m user -a 'name=nan uid=306 system=yes group=mysql'
ansible mysql -a 'tail /etc/passwd'
4,copy模块
ansible-doc -s copy
ansible mysql -m copy -a 'src=/etc/fstab dest=/opt/fstab.back owner=root mode=640'
ansible mysql -a 'ls -l /opt'
ansible mysql -a 'cat /opt/fstab.back'
ansible mysql -m copy -a 'content="hello world!" dest=/opt/fstab.back' //将hello world!写入/opt/fstab.back
ansible mysql -a 'cat /opt/fstab.back'
5,file模块
ansible-doc -s file
ansible mysql -m user -a 'name=mysql system=yes'
ansible mysql -m group -a 'name=mysql system=yes'
ansible mysql -m file -a 'path=/opt/fstab.link src=opt/fstab.back state=link' #设置/opt/fstab.link为/opt/fstab.back
ansible mysql -m file -a "path=/opt/fstab.back state=absent" #删除-个文件
ansible mysql -m file -a "path=/opt/test state=touch" #创建一个文件
6,ping模块
ansible all -m ping
7,yum模块
ansible -doc -s yum
ansible mysql -m yum -a 'name=httpd' #yum安装httpd
ansible mysql -m yum -a 'name=httpd state=absent' #卸载httpd
rpm -q httpd
8,service模块
ansible-doc -s service
yum install -y httpd
ansible mysql -m service -a 'enabled=true name=httpd state=started' #启动httpd服务
ansible mysql -a 'systemctl status httpd' #查看web服务器httpd运行状态
ansible all -m service -a 'name=firewalld state=stopped' #关闭防火墙
systemctl status httpd #查看是否开启
9,shel模块
ansible-doc -s shell
ansible mysql -m shell -a 'echo 123123|passwd --stdin mysql' #创建用户使用无交互模式给用户设置密码
10,script模块
ansible-doc -s script
vi test.sh #在ansible管理端创建脚本
#!/bin/bash
echo "hello ansible from script" > /opt/script.txt
chmod +x test.sh
ansible mysql -m script -a 'test.sh'
cat /opt/script.txt