Ansible常用命令

ansible

命令 含义
ansible all -m copy -a "src=/root/backup.sh dest=/root/" 复制
ansible all -m copy -a"content='hello\nworld' dest=/tmp/test.ansible mode=640" 写入文件内容
ansible all -m shell -a "systemctl restart gocronitor" 运行命令
ansible all -m command -a "ifconfig" 运行命令
ansible all -m ping 检测主机连接
ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root" 指定节点上的权限,属主和数组为root
ansible '*' -m file -a "dest=/tmp/test state=directory" 创建文件夹
ansible all -m file -a "path=/tmp/test state=absent" 删除文件
ansible '' -m cron -a 'name="custom job" minute=/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"' 指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间
ansible all -m group -a 'gid=2017 name=a state=present system=no' 指定节点上创建一个组名为aaa,gid为2017的组
ansible all -m user -a 'name=aaa groups=aaa state=present' 在节点上创建一个用户aaa,组为aaa
ansible all -m user -a 'name=aaa groups=aaa remove=yes' 删除用户示例
ansible all -m yum -a "state=present name=httpd" 在节点上安装httpd
ansible all -m service -a 'name=httpd state=started enabled=yes' 在节点上启动服务,并开机自启动
ansible '*' -m script -a '/root/test.sh' 执行主控端脚本
ansible '*' -m shell -a 'ps aux ' 执行远程主机的脚本
ansible '*' -m raw -a "awk '{print $2}'" 类似shell
ansible '*' -m file -a "src=/etc/resolv.conf dest=/tmp/resolv.conf state=link" 创建软链接
ansible '*' -m file -a "path=/tmp/resolv.conf state=absent" 删除软链接
ansible '*' -m copy -a "src=/etc/ansible/ansible.cfg dest=/tmp/ansible.cfg owner=root group=root mode=0644" 复制文件到远程服务器
ansible all -m raw -a 'hostname' 在节点上运行hostname
ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp' 将指定url上的文件下载到/tmp下
ansible all -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes' 将主控方/root/a目录推送到指定节点的/tmp目录下
ansible 10.1.1.113 -m synchronize -a 'mode=pull src=/tmp/a dest=/root/' 将10.1.1.113节点的/tmp/a目录拉取到主控节点的/root目录下
ansible-doc -s service 获取帮助信息
ansible 192.66.255.130 -m setup 在主机上收集属性信息的集合,收集变量
ansible-doc -s setup 收集每个管控主机的facts变量
ansible 172.16.0.67 -m setup 收集主机的变量

ansible-playbook

# ansible-playbook playbook.yml                                            #基本执行
# ansible-playbook playbook.yml --check                                    #模拟执行 Playbook,显示将要发生的变化,但不实际执行
# ansible-playbook playbook.yml -C                                         #模拟执行 Playbook
# ansible-playbook first.yml --syntax-check                                #检查yaml文件的语法是否正确
# ansible-playbook first.yml --list-task                                   #列出tasks任务
# ansible-playbook first.yml --list-hosts                                  #检查生效的主机
# ansible-playbook first.yml --start-at-task='Copy Nginx.conf'             #指定从某个task开始运行
# ansible-playbook first.yml -k                                            #用来交互输入ssh密码
# ansible-playbook first.yml -K                                            #用来交互输入sudo密码
# ansible-playbook first.yml -u                                            #指定用户

# ansible-playbook playbook.yml -e "var1=value1 var2=value2"               #从命令行传递额外的变量
# ansible-playbook playbook.yml --extra-vars "@vars_file.yml"              #从YAML文件中加载额外的变量
# ansible-playbook playbook.yml --limit "host1,host2"                      #限制 Playbook 只在指定的主机上执行
# ansible-playbook playbook.yml --tags "tag1,tag2"                         #只执行带有指定标签的任务
# ansible-playbook playbook.yml --skip-tags "tag1,tag2"                    #执行所有任务,但跳过带有指定标签的任务。
# ansible-playbook playbook.yml --private-key /path/to/private_key         #指定用于 SSH 连接的私钥文件。
# ansible-playbook playbook.yml --connection=local                         #指定连接方法,如 local、ssh 等。
# ansible-playbook playbook.yml --user=username                            #指定连接到远程主机时使用的用户名。
# ansible-playbook playbook.yml --ask-pass                                 #执行时提示输入远程主机的密码
# ansible-playbook playbook.yml --ask-sudo-pass                            #提示输入 sudo 密码,以便以 root 权限执行任务。
# ansible-playbook playbook.yml --forks 5                                  #指定同时运行的任务数量,以提高执行效率。
# ansible-playbook playbook.yml -v                                         #提供更详细的输出信息。
# ansible-playbook playbook.yml -vvv                                       #提供更详细的调试信息,最多可以添加四个 v 来增加详细程度。
# ansible-playbook playbook.yml --start-at-task "Task Name"                #从指定的任务名称开始执行 Playbook。
# ansible-playbook playbook.yml --any-errors-fatal                         #继续执行后续任务,即使当前任务失败。


posted @ 2024-07-28 16:50  *一炁化三清*  阅读(38)  评论(0编辑  收藏  举报