批量管理ansible常用命令详解

在ansible.cfg配置文件中,也会找到如下部分:

# uncomment this to disable SSH key host checking

host_key_checking = False  

三部完成ssh 免密钥登录

ssh-keygen -t rsa 密钥设置密码

ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub 6.6.6.3

ssh 6.6.6.3  

批量任务命令

#####添加自动任务  每三分钟执行一次

ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/bin/rdate  -s time.nist.gov"'

批量执行命令

ansible home  -m command -a 'df -lh'

批量重启服务

ansible  web -m service -a 'name=nginxd state=restart'

批量传文件

ansible  web -m copy -a 'src=/tmp/localhost.conf dest=/usr/local/nginx/conf/vhost/'

yum模块:

    目的:在指定节点上安装 lrzsz 服务

    命令:ansible all -m yum -a "state=present name=lrzsz"

user模块:

    目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

    命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'

    执行命令:

script模块:

    目的:在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)

    命令:ansible 10.1.1.113 -m script -a '/root/a.sh'

synchronize模块:

    目的:将主控方/root/a目录推送到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'

    ansible web -m synchronize -a 'src=/shell/www/web dest=/www/ compress=yes'执行效果:

    delete=yes   使两边的内容一样(即以推送方为主)

    compress=yes  开启压缩,默认为开启

    --exclude=.Git  忽略同步.git结尾的文件

lile模块:

    目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root

    命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

user模块:

    目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

    命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'
文档更新时间: 2018-11-29 10:37   作者:RuM