ansible 常用模块
fetch
将远程主机的单个文件抓取到本地
ansible all -m fetch -a 'src=/var/log/message dest=/data'
file
远程创建新文件
ansible all -m file -a 'name=/data/f3 state=touch'
ansible all -m file -a 'name=/data/f3 state=absent'
ansible all -m file -a 'name=/data/dir1 state=directory' # 创建文件夹
ansible all -m file -a 'name=/data/dir1 state=absent'
ansible all -m file -a 'src=/data/fstab dest=/data/fstab.link state=link'
hostname
修改主机名
ansible 192.168.30.101 -m hostname -a 'name=node1'
cron
计划任务
ansible 192.168.30.101 -m cron -a 'minute=* weekday=1,3,5 job="/usr/bin/wall FBI warning" name=warningcron' # 创建计划任务
ansible 192.168.30.101 -m cron -a 'disabled=true job="/usr/bin/wall FBI warning" name=warningcron' #注释计划任务
ansible 192.168.30.101 -m cron -a 'disabled=false job="/usr/bin/wall FBI warning" name=warningcron' #取消注释计划任务
ansible 192.168.30.101 -m cron -a ' job="/usr/bin/wall FBI warning" name=warningcron state=absent' #删除计划任务
yum
管理软件包
ansible all -m yum -a 'name=vsftpd'
ansible all -m yum -a 'name=vsftpd,httpd,wget'
ansible all -m yum -a 'name=vsftpd,httpd,wget state=absent' # 卸载
ansible all -m yum -a 'name=/data/vsftpd-3.0.2.22.el7.x86_64.rpm' # 安装本地包
ansible all -m yum -a 'name=/data/vsftpd-3.0.2.22.el7.x86_64.rpm disable_gpg_check=yes' # 安装本地包
service
服务管理
ansible 192.168.30.101 -m service -a 'name=vsftpd state=started'
ansible 192.168.30.101 -m service -a 'name=vsftpd state=stoped'
ansible 192.168.30.101 -m service -a 'name=vsftpd state=restarted'
ansible 192.168.30.101 -m service -a 'name=vsftpd state=reloaded'
user
用户管理
ansible 192.168.30.101 -m user -a 'name=nginx shell=/sbin/nologin system=yes home=/var/nginx group=root'
ansible 192.168.30.101 -m user -a 'name=nginx state=absent removed=yes'
group
用户组管理
ansible 192.168.30.101 -m group -a 'name=nginx system=yes t'
ansible 192.168.30.101 -m group -a 'name=nginx state=absent'