中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ansible中點對點命令是什么意思

發布時間:2021-10-25 09:27:17 來源:億速云 閱讀:148 作者:小新 欄目:系統運維

這篇文章主要介紹Ansible中點對點命令是什么意思,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

什么是點對點ad-hoc命令?

點對點命令用于在一個或多個受控節點上自動執行任務。它非常簡單,但是不可重用。它使用 /usr/bin/ansible 二進制文件執行所有操作。

點對點命令最適合運行一次的任務。例如,如果要檢查指定用戶是否可用,你可以使用一行命令而無需編寫劇本。

為什么你要了解點對點命令?

點對點命令證明了 Ansible 的簡單性和強大功能。從 2.9 版本開始,它支持 3389 個模塊,因此你需要了解和學習要定期使用的 Ansible 模塊列表。

如果你是一個 Ansible 新手,可以借助點對點命令輕松地練習這些模塊及參數。

你在這里學習到的概念將直接移植到劇本中。

點對點命令的一般語法:

ansible [模式] -m [模塊] -a "[模塊選項]"

點對點命令包含四個部分,詳細信息如下:

部分描述
ansible命令
模式輸入清單或指定組
模塊運行指定的模塊名稱
模塊選項指定模塊參數
如何使用 Ansible 清單文件

如果使用 Ansible 的默認清單文件 /etc/ansible/hosts,你可以直接調用它。否則你可以使用 -i 選項指定 Ansible 清單文件的路徑。

什么是模式以及如何使用它?

Ansible 模式可以代指某個主機、IP 地址、清單組、一組主機或者清單中的所有主機。它允許你對它們運行命令和劇本。模式非常靈活,你可以根據需要使用它們。

例如,你可以排除主機、使用通配符或正則表達式等等。

下表描述了常見的模式以及用法。但是,如果它不能滿足你的需求,你可以在 ansible-playbook 中使用帶有 -e 參數的模式中的變量。

描述模式目標
所有主機all(或 *對清單中的所有服務器運行 Ansible
一臺主機host1只針對給定主機運行 Ansible
多臺主機host1:host2(或 host1,host2對上述多臺主機運行 Ansible
一組webservers在 webservers 群組中運行 Ansible
多組webservers:dbserverswebservers 中的所有主機加上 dbservers 中的所有主機
排除組webservers:!atlantawebservers 中除 atlanta 以外的所有主機
組之間的交集webservers:&stagingwebservers 中也在 staging 的任何主機
什么是 Ansible 模塊,它干了什么?

模塊,也稱為“任務插件”或“庫插件”,它是一組代碼單元,可以直接或通過劇本在遠程主機上執行指定任務。

Ansible 在遠程目標節點上執行指定模塊并收集其返回值。

每個模塊都支持多個參數,可以滿足用戶的需求。除少數模塊外,幾乎所有模塊都采用 key=value 參數。你可以一次添加帶有空格的多個參數,而 command 或 shell 模塊會直接運行你輸入的字符串。

我們將添加一個包含最常用的“模塊選項”參數的表。

列出所有可用的模塊,運行以下命令:

$ ansible-doc -l

運行以下命令來閱讀指定模塊的文檔:

$ ansible-doc [模塊]

1)如何在 Linux 上使用 Ansible 列出目錄的內容

可以使用 Ansible command 模塊來完成這項操作,如下所示。我們列出了 node1.2g.lab 和 nod2.2g.lab* 遠程服務器上 daygeek 用戶主目錄的內容。

$ ansible web -m command -a "ls -lh /home/daygeek" node1.2g.lab | CHANGED | rc=0 >>total 12Kdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Desktopdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Documentsdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Downloadsdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Music-rwxr-xr-x. 1 daygeek daygeek 159 Mar  4  2019 passwd-up.shdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Picturesdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Publicdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Templates-rwxrwxr-x. 1 daygeek daygeek 138 Mar 10  2019 user-add.sh-rw-rw-r--. 1 daygeek daygeek  18 Mar 10  2019 user-list1.txtdrwxr-xr-x. 2 daygeek daygeek   6 Feb 15  2019 Videos node2.2g.lab | CHANGED | rc=0 >>total 0drwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Desktopdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Documentsdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Downloadsdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Musicdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Picturesdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Publicdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Templatesdrwxr-xr-x. 2 daygeek daygeek 6 Nov  9 09:55 Videos

2)如何在 Linux 使用 Ansible 管理文件

Ansible 的 copy 模塊將文件從本地系統復制到遠程系統。使用 Ansible command 模塊將文件移動或復制到遠程計算機。

$ ansible web -m copy -a "src=/home/daygeek/backup/CentOS7.2daygeek.com-20191025.tar dest=/home/u1" --become node1.2g.lab | CHANGED => {    "ansible_facts": {        "discovered_interpreter_python": "/usr/bin/python"    },    "changed": true,    "checksum": "ad8aadc0542028676b5fe34c94347829f0485a8c",    "dest": "/home/u1/CentOS7.2daygeek.com-20191025.tar",    "gid": 0,    "group": "root",    "md5sum": "ee8e778646e00456a4cedd5fd6458cf5",    "mode": "0644",    "owner": "root",    "secontext": "unconfined_u:object_r:user_home_t:s0",    "size": 30720,    "src": "/home/daygeek/.ansible/tmp/ansible-tmp-1579726582.474042-118186643704900/source",    "state": "file",    "uid": 0} node2.2g.lab | CHANGED => {    "ansible_facts": {        "discovered_interpreter_python": "/usr/libexec/platform-python"    },    "changed": true,    "checksum": "ad8aadc0542028676b5fe34c94347829f0485a8c",    "dest": "/home/u1/CentOS7.2daygeek.com-20191025.tar",    "gid": 0,    "group": "root",    "md5sum": "ee8e778646e00456a4cedd5fd6458cf5",    "mode": "0644",    "owner": "root",    "secontext": "unconfined_u:object_r:user_home_t:s0",    "size": 30720,    "src": "/home/daygeek/.ansible/tmp/ansible-tmp-1579726582.4793239-237229399335623/source",    "state": "file",    "uid": 0}

我們可以運行以下命令進行驗證:

$ ansible web -m command -a "ls -lh /home/u1" --become node1.2g.lab | CHANGED | rc=0 >>total 36K-rw-r--r--. 1 root root 30K Jan 22 14:56 CentOS7.2daygeek.com-20191025.tar-rw-r--r--. 1 root root  25 Dec  9 03:31 user-add.sh node2.2g.lab | CHANGED | rc=0 >>total 36K-rw-r--r--. 1 root root 30K Jan 23 02:26 CentOS7.2daygeek.com-20191025.tar-rw-rw-r--. 1 u1   u1    18 Jan 23 02:21 magi.txt

要將文件從一個位置復制到遠程計算機上的另一個位置,使用以下命令:

$ ansible web -m command -a "cp /home/u2/magi/ansible-1.txt /home/u2/magi/2g" --become

移動文件,使用以下命令:

$ ansible web -m command -a "mv /home/u2/magi/ansible.txt /home/u2/magi/2g" --become

在 u1 用戶目錄下創建一個名為 ansible.txt 的新文件,運行以下命令:

$ ansible web -m file -a "dest=/home/u1/ansible.txt owner=u1 group=u1 state=touch" --become

在 u1 用戶目錄下創建一個名為 magi 的新目錄,運行以下命令:

$ ansible web -m file -a "dest=/home/u1/magi mode=755 owner=u2 group=u2 state=directory" --become

將 u1 用戶目錄下的 ansible.txt* 文件權限更改為 777,運行以下命令:

$ ansible web -m file -a "dest=/home/u1/ansible.txt mode=777" --become

刪除 u1 用戶目錄下的 ansible.txt 文件,運行以下命令:

$ ansible web -m file -a "dest=/home/u2/magi/ansible-1.txt state=absent" --become

使用以下命令刪除目錄,它將遞歸刪除指定目錄:

$ ansible web -m file -a "dest=/home/u2/magi/2g state=absent" --become

3)用戶管理

你可以使用 Ansible 輕松執行用戶管理活動。例如創建、刪除用戶以及向一個組添加用戶。

$ ansible all -m user -a "name=foo password=[crypted password here]"

運行以下命令刪除用戶:

$ ansible all -m user -a "name=foo state=absent"

4)管理包

使用合適的 Ansible 包管理器模塊可以輕松地管理安裝包。例如,我們將使用 yum 模塊來管理 CentOS 系統上的軟件包。

安裝最新的 Apache(httpd):

$ ansible web -m yum -a "name=httpd state=latest"

卸載 Apache(httpd) 包:

$ ansible web -m yum -a "name=httpd state=absent"

5)管理服務

使用以下 Ansible 模塊命令可以在 Linux 上管理任何服務。

停止 httpd 服務:

$ ansible web -m service -a "name=httpd state=stopped"

啟動 httpd 服務:

$ ansible web -m service -a "name=httpd state=started"

重啟 httpd 服務:

$ ansible web -m service -a "name=httpd state=restarted"

以上是“Ansible中點對點命令是什么意思”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

思南县| 东丰县| 汤原县| 镇康县| 建水县| 合山市| 德化县| 山阴县| 曲靖市| 嘉定区| 和平区| 府谷县| 舞钢市| 浦东新区| 铜梁县| 西吉县| 尉犁县| 乌拉特前旗| 海安县| 清水县| 大连市| 安泽县| 四平市| 石林| 迭部县| 迁安市| 天气| 合阳县| 石渠县| 资兴市| 开化县| 尚义县| 新田县| 肃宁县| 正安县| 平陆县| 仁怀市| 闸北区| 同德县| 额尔古纳市| 顺义区|