Ansible 批量修改密码?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-21
Ansible 批量修改root密码?

如果不会用salt或者ansible的话,最简单的方法是找一台发布机器,将这台机器的公钥放在其他服务器中,然后就可以执行脚本了
for i in {ip list};do scp nginx.conf $i:/nginxdir && ssh $i "nginx -s reload";done
确保配置正确,不然报错,可在中间加上nginx -t 验证

1) 将本地的文件复制到远端所有服务器; 2) 需要在远程服务器中执行一个个命令; 远端服务器路径并非完全一致,一般访问通过环境变量中定义的变量路径访问; 比如在.bashrc中定义$app_path=/opt/app/bin 最终选择ansible,使用这个自动化运维。

ansible默认提供了很多模块来供我们使用。在Linux中,我们可以通过ansible-doc-l命令查看到当前ansible都支持哪些模块,通过ansible-doc-s模块名又可以查看该模块有哪些参数可以使用。下面介绍比较常用的几个模块:copy模块file模块cron模块group模块user模块yum模块service模块script模块ping模块command模块raw模块get_url模块synchronize模块Ansible和Docker的作用和用法/Linux/2015-02/112774.htmcopy模块:目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上命令:ansible10.1.1.113-mcopy-a'src=/root/a.shdest=/tmp/'执行效果:file模块:目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root命令:ansibleall-mfile-a"dest=/tmp/t.shmode=755owner=rootgroup=root"执行效果:cron模块:目的:在指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间命令:ansibleall-mcron-a'name="customjob"minute=*/3hour=*day=*month=*weekday=*job="/usr/sbin/ntpdate172.16.254.139"'执行效果:group模块:目的:在所有节点上创建一个组名为nolinux,gid为2014的组命令:ansibleall-mgroup-a'gid=2014name=nolinux'执行效果:user模块:目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户命令:ansible10.1.1.113-muser-a'name=nolinuxgroups=nolinuxstate=present'执行命令:补充:删除用户示例yum模块:目的:在指定节点上安装lrzsz服务命令:ansibleall-myum-a"state=presentname=httpd"执行效果:service模块:目的:启动指定节点上的puppet服务,并让其开机自启动命令:ansible10.1.1.113-mservice-a'name=puppetstate=restartedenabled=yes'执行效果: