ansible实践
ansible常用module
ansible-doc -l List available modules -s Show playbook snippet for specified module(s) ansible: ansible <host-pattern> [-f forks] [-m module_name] [-a args] args: key=value 注意:command模块要执行命令无须为key=value格式,而是直接给出要执行的命令即可; 常用模块: command -a 'COMMAND' #查看web组磁盘空间使用率 ansible web -m command -a 'df -h' user -a 'name= state={present|absent} system= uid=' #创建系统账户test,uid为444 ansible test -m user -a 'name=test state=present system=yes uid=444' ansible test -m user -a 'name=test state=absent' group -a 'name= gid= state= system=' cron -a 'name= minute= hour= day= month= weekday= job= user= state=' #每3分钟做一次时间同步 ansible test -m cron -a 'name="custom job" minute=*/3 job="/usr/sbin/ntpdate 172.16.254.23"' ansible test -m cron -a 'name="custom job" state=absent' copy -a 'dest= src= mode= owner= group=' ansible test -m copy -a 'src=/root/a.sh dest=/tmp/ owner=root group=root mode=0755' file -a 'path= mode= owner= group= state={directory|link|present|absent} src=' ansible test -m file -a 'path=/tmp/a.sh state=absent' ping ansible web -m ping yum -a 'name= state={present|latest|absent}' ansible test -m yum -a 'name=httpd state=latest' ansible test -m yum -a 'name=httpd state=absent' service -a 'name= state={started|stopped|restarted} enabled=' ansible test -m service -a 'name=httpd state=started enabled=yes' shell -a 'COMMAND' ansible test -m shell -a 'chkconfig --list httpd' script -a '/path/to/script' ansible test -m script -a '/root/a.sh' setup ansible web -m setup synchronize -a 'src= dest= mode={pull|push} rsync_opts="auv"' ansible webg:webappg -m synchronize -a 'src=/app/webapps/app/ dest=/app/webapps/app/ mode=push rsync_opts="-av"'