日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ansible Ad—hoc 模式常用模块

發布時間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ansible Ad—hoc 模式常用模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. ad-hoc介紹

  ansible中有兩種模式:ad-hoc模式和ansible-playbook模式。

  ad-hoc命令是一種可以快速輸入的命令,而且不需要保存起來的命令。

  ad-hoc適合解決一些簡單或者平時工作中臨時遇到的困難。

2. ad-hoc的使用場景

  • 在多臺機器上,查看某個進程是否啟動
  • 在多臺機器上,拷貝指定文件到本地等等

3. ad-hoc模式命令的使用

  命令+主機名稱+指定的模塊+模塊名稱+模塊動作+具體的命令

  如:ansible ans -m shell -a 'ls /root'

4. ansible幫助查看方式

ansible-doc -l #查看所有的模塊與簡要說明 ansible-doc copy #查看指定模塊的方式 ansible-doc -s copy #查看指定模塊的playbook代碼段

5. ad-hoc命令參數

ansible <host-pattern> [options]-v|--version #輸出更詳細的執行過程信息,-vvv可得到執行過程所有的信息 -i|PATH|--inventory(清單)=PATH #指定inventory(清單)信息,默認/etc/ansible/hosts -f NUM|--forks=NUM #并發線程數,默認是5個 --private-key=PRIVATE_KEY_FILE #指定密鑰文件 -m NAME|--module-name=NAME #指定使用的模塊 -M DIRECTORY,--module-path=DIRECTORY #指定模塊存放路徑,默認/usr/share/ansible,也可以通過ANSIBLE_LIBRARY設定默認路徑。 -a ‘ARGUMENTS’,--args=‘ARGUMENTS’ #模塊參數。 -k,--ask-pass SSH #認證密碼 -K,--ask-sudo-pass sudo #用戶的密碼(--sudo時使用)。 -o,--one-line #標準輸出至一行。 -s,--sudo #相當于Linux系統下的sudo命令。 -t DIRECTORY,--tree=DIRECTORY #輸出信息至DIRECTORY目錄下,結果文件以遠程主機命名。 -T SECONDS,--timeout=SECONDS #指定連接遠程主機的最大超時,單位是秒。 -B NUM,--background=NUM #后臺執行命令,超NUM秒后中止正在執行的任務。 -P NUM,--poll=NUM #定期返回后臺任務進度。 -u USERNAME,--user=USERNAME #指定遠程主機以USERNAME運行命令。 -U SUDO_USERNAME,--sudo-user=SUDO_USERNAME #使用sudo,相當于LInux下的sudo命令。 -c CONNECTION,--connection=CONNECTION #指定連接方式,可用選項paramiko(SSH)、ssh、local,local方式常用于crontab和kickstarts。 -l SUBSET,--limit=SUBSET #指定運行主機。 -l ~REGEX,--limit=~REGEX #指定運行主機(正則)。 --list-hosts #列出符合條件的主機列表,不執行任何命令。

6. ansible常用模塊

命令相關模塊

command模塊? ? ? ? shell模塊? ? ????????service模塊????

文件相關模塊

file模塊? ? ? ? copy模塊? ? ? ? fetch模塊

用戶相關模塊

user模塊? ? ? ? group模塊

yum_repository模塊

7、command模塊

  命令模塊適合使用簡單的命令,無法支持"<"、">"、"|"、";"、"&"等符號,功能是在遠程主機上執行命令,此模塊為默認模塊,可以忽略-m選項。

chdir #在執行命令前,進入到指定的目錄中 creates #判斷指定文件是否存在,如果存在,不執行后面的操作 removes #判斷指定文件是否存在,如果存在,執行后面的操作 free_from #必須要輸入一個合理的命令ansible 192.168.100.204 -a 'chdir=/tmp pwd' #切換目錄 ansible 192.168.100.204 -a 'creates=/tmp ls /etc//passwd' #creates文件存在則不執行 ansible 192.168.100.204 -a 'removes=/tmp ls /etc//passwd' #remives文件存在則執行

8.shell模塊

  類似于command模塊,但是功能比command要更強大。支持"<"、">"、"|"、";"、"&"等符號。

chdir #在執行命令前,進入到指定目錄中 creates #判斷指定文件是否存在,如果存在,不執行后面的操作 removes #判斷指定文件是否存在,如果存在,執行后面的操作 free_form #必須要輸入一個合理的命令

1)調用shell模塊

ansible 192.168.100.204 -m shell -a 'mkdir -p /root/dgf && ls /root/'? ? ? ? #調用shell模塊

2)調用shell模塊查看root下的所有目錄和文件

[root@localhost /]# ansible 192.168.100.204 -m shell -a 'ls /root'

seript 用于執行被管理機器上面執行shell腳本的模塊,腳本無需在被管理機器上面存在

3)在管理機上創建腳本

[root@localhost ~]# vim ansible_test.sh #!/bin/bash echo 'hostname'

4)給腳本賦予777權限

[root@localhost ~]# chmod 777 ansible_test.sh

5)在被管理服務器上執行腳本

[root@localhost ~]# ansible all -m script -a '/root/ansible_test.sh ' 192.168.100.205 | CHANGED => {"changed": true, "rc": 0, "stderr": "Shared connection to 192.168.100.205 closed.\r\n", "stderr_lines": ["Shared connection to 192.168.100.205 closed."], "stdout": "hostname\r\n", "stdout_lines": ["hostname"] } 192.168.100.204 | CHANGED => {"changed": true, "rc": 0, "stderr": "Shared connection to 192.168.100.204 closed.\r\n", "stderr_lines": ["Shared connection to 192.168.100.204 closed."], "stdout": "hostname\r\n", "stdout_lines": ["hostname"] }

9、file模塊

用于對文件的處理,創建,刪除,權限控制等

pah???????????#要管理的文件路徑 recurse???????#遞歸 state:?? directory?????#創建目錄,如果目標不存在則創建目錄及其子目錄 touch?????????#創建文件,如果文件存在,則修改文件 屬性 absent????????#刪除文件或目錄 mode??????????#設置文件或目錄權限 owner???????? #設置文件或目錄屬主信息 group???????? #設置文件或目錄屬組信息 link??????????#創建軟連接,需要和src配合使用 hard???????? #創建硬件連接。需要和src配合使用

1)刪除被管理服務器的文件或目錄

[root@localhost /]# ansible 192.168.100.204 -m file -a 'name=/dgf state=absent' #name=路徑默認是在root下

2)創建被管理服務器的文件或目錄

[root@localhost /]# ansible 192.168.100.204 -m file -a 'name=ys state=directory' #創建目錄 [root@localhost /]# ansible 192.168.100.204 -m file -a 'name=456.txt state=touch'#創建文件

3)修改被管理服務器的文件或目錄的權限

[root@localhost ~]# ansible all -m file -a 'path=/root/hehe mode=777' #修改權限

總結

以上是生活随笔為你收集整理的Ansible Ad—hoc 模式常用模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。