ansible 常用命令

ansible是一个运维工具,可以批量操作目标机器,节省手动操作的时间。我主要使用的常用命令有:

  • 批量执行shell命令
# -m shell表示使用shell模块
# -a 表示参数
# --become 表示使用root执行,可以不填
# --ask-become-pass 表示需要提示输入密码,因为没有免密登录,可以不填
ansible -i hosts test  --become --ask-become-pass -m shell -a "cat /opt/log/test.log | grep join"
  • 批量执行shell脚本文件
# -b --become-user=admin 表示使用admin执行
ansible -i hosts  -b --become-user=admin --ask-become-pass -m script -a ./cmd.sh
  • 批量拷贝文件(慢速scp)
# 使用scp拷贝,速度较慢,适合拷贝单个配置文件
ansible -i hosts test -b --ask-become-pass  -m copy -a "src=~/.ssh/id_rsa dest=/home/haowen.zp/.ssh/ owner=haowen.zp group=users mode=600"
  • 批量同步目录(快速rsync)
ansible -i hosts test --ask-become-pass  -m synchronize -a "src=~/code/dep-libs dest=/opt/ compress=1"
  • 批量登录目标机器,执行命令
# 批量ssh登录到远端,可以shell中执行命令
ansible-console -i hosts test -u root
  • 服务管理
ansible -i hosts saturn-pre -m service -a "name=saturn.b state=started"
ansible -i hosts saturn-pre -m service -a "name=saturn.b state=restarted"

你可能感兴趣的:(ansible 常用命令)