ansible常用命令


一、ansible常用命令

  一、ansible命令的常用參數

  ansible 默認提供了很多模塊來供我們使用。在 Linux 中,我們可以通過 ansible-doc -l 命令查看到當前 ansible 都支持哪些模塊,通過 ansible-doc  -s  模塊名  又可以查看該模塊有哪些參數可以使用。

  1、命令語法

ansible '*' -m command -a 'uptime'

'*':自己定義的主機       -m command:命令  

  2、命令常用參數

# 指定節點上的權限,屬主和數組為root

ansible '*' -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"

#指定節點上定義一個計划任務,每隔3分鍾到主控端更新一次時間

ansible '*' -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'

# 指定節點上創建一個組名為aaa,gid為2017的組

ansible all -m group -a 'gid=2017 name=a'

# 在節點上創建一個用戶aaa,組為aaa

ansible all -m user -a 'name=aaa groups=aaa state=present'

刪除用戶示例

ansible all -m user -a 'name=aaa groups=aaa remove=yes'

# 在節點上安裝httpd

ansible all -m yum -a "state=present name=httpd"

# 在節點上啟動服務,並開機自啟動

ansible all -m service -a 'name=httpd state=started enabled=yes'

# 檢查主機連接

ansible '*' -m ping

# 執行遠程命令

ansible '*' -m command -a 'uptime'

# 執行主控端腳本

ansible '*' -m script -a '/root/test.sh'

# 執行遠程主機的腳本

ansible '*' -m shell -a 'ps aux|grep zabbix'

# 類似shell

ansible '*' -m raw -a "ps aux|grep zabbix|awk '{print \$2}'"

# 創建軟鏈接

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"

# 在節點上運行hostname

nsible all -m raw -a 'hostname|tee'

# 將指定url上的文件下載到/tmp下

ansible all -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'

  二、ansible-playbook的常用參數

  1、命令語法

ansible-playbook playbook.yml [options]

  2、命令的常用參數

-u REMOTE_USER, --user=REMOTE_USER # ssh 連接的用戶名 
-k, --ask-pass #ssh登錄認證密碼 
-s, --sudosudo 到root用戶,相當於Linux系統下的sudo命令 
-U SUDO_USER, --sudo-user=SUDO_USER #sudo 到對應的用戶 
-K, --ask-sudo-pass #用戶的密碼(—sudo時使用) 
-T TIMEOUT, --timeout=TIMEOUT # ssh 連接超時,默認 10-C, --check # 指定該參數后,執行 playbook 文件不會真正去執行,而是模擬執行一遍,然后輸出本次執行會對遠程主機造成的修改 -e EXTRA_VARS, --extra-vars=EXTRA_VARS # 設置額外的變量如:key=value 形式 或者 YAML or JSON,以空格分隔變量,或用多個-e -f FORKS, --forks=FORKS # 進程並發處理,默認 5 -i INVENTORY, --inventory-file=INVENTORY # 指定 hosts 文件路徑,默認 default=/etc/ansible/hosts -l SUBSET, --limit=SUBSET # 指定一個 pattern,對- hosts:匹配到的主機再過濾一次 --list-hosts # 只打印有哪些主機會執行這個 playbook 文件,不是實際執行該 playbook --list-tasks # 列出該 playbook 中會被執行的 task --private-key=PRIVATE_KEY_FILE # 私鑰路徑 --step # 同一時間只執行一個 task,每個 task 執行前都會提示確認一遍 --syntax-check # 只檢測 playbook 文件語法是否有問題,不會執行該 playbook -t TAGS, --tags=TAGS #當 play 和 task 的 tag 為該參數指定的值時才執行,多個 tag 以逗號分隔 --skip-tags=SKIP_TAGS # 當 play 和 task 的 tag 不匹配該參數指定的值時,才執行 -v, --verbose #輸出更詳細的執行過程信息,-vvv可得到所有執行過程信息。

   更詳細鏈接:http://blog.51cto.com/dengxi/1733536

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM