【Ansible】ad-hoc與常用模塊

      網友投稿 881 2025-04-03

      什么是ad-hoc


      ad-hoc 簡而言之就是 “臨時命令”,執行完即結束,并不會保存;

      ansible工具通過 ssh 協議 ,實現對遠程主機的配置管理,應用部署、任務執行等功能;

      命令使用格式;

      ansible [-m module_name] [-a args]

      --version #ansible版本信息

      -v #顯示詳細信息

      -i #主機清單文件路徑,默認是在/etc/ansible/hosts

      -m #使用的模塊名稱,默認使用command模塊

      -a #使用的模塊參數,模塊的具體動作

      -k #提示輸入ssh密碼,而不使用基于ssh的密鑰認證

      -C #模擬執行測試,但不會真的執行

      -T #執行命令的超時

      --become-user #指定sudo時的用戶名稱,默認為root

      命令示例:

      ansible 'groups' -m command -a 'df -h'

      執行過程:

      1.加載自己的配置文件,默認 /etc/ansible/ansible.cfg ;

      2.查找對應的主機配置文件,找到要執行的主機或者組;

      3.加載自己對應的模塊文件,如 command ;

      4.通過 ansible 將模塊或命令生成對應的臨時 py 文件,并將該文件傳輸至遠

      服務器對應執行用戶 $HOME/.ansible/tmp/ansible-tmp-number/XXX.PY ;

      5.執行用戶家目錄的 `` 文件;

      6.給文件 +x 執行;

      7.執行并返回結果;

      8.刪除臨時 py 文件, sleep 0 退出;

      執行狀態

      使用 ad-hoc 執行一次遠程命令,注意觀察返回結果的顏色;

      綠色: 代表被管理端主機沒有被修改

      黃色: 代表被管理端主機發現變更

      紅色: 代表出現了故障,注意查看提示

      常用模塊

      查看所有的模塊

      [root@manger ~]# ansible-doc -l

      查看模塊的詳細文檔

      [root@manger ~]# ansible-doc copy

      查看模塊的所有方法

      [root@manger ~]# ansible-doc -s copy

      模塊介紹

      command模塊

      功能:在遠程主機執行 Shell 命令;此為默認模塊,可忽略 -m 選項;

      chdir chdir /opt 執行ansible時,切換到指定的目錄

      creates creates /data/file 如果文件存在,則跳過執行

      removes removes /data/file 如果文件存在,則執行

      shell模塊

      功能:在遠程主機執行 Shell 命令,執行管道等特殊符號的操作;

      chdir chdir /opt 執行ansible時,切換到指定的目錄

      creates creates /data/file 如果文件存在,則跳過執行

      removes removes /data/file 如果文件存在,則執行

      script模塊

      功能:在被控節點,運行 Ansible 主機的腳本;

      yum模塊

      功能:管理各個操作系統的軟件包;

      name: httpd、nginx、... 指定安裝軟件包名或軟件包URL

      state:present(Defaults)、absent、latest? ?指定yum對應的方法

      enablerepo: epel、base、... 允許從哪些倉庫獲取軟件

      disablerepo :epel、base、... 禁止從哪些倉庫獲取軟件

      exclude :kernel、... 排除某些軟件包

      download_only: yes、no 僅下載軟件包,不安裝

      copy模塊

      功能:從 ansible 服務端主控端復制文件到遠程主機;

      src 復制本地目錄下的文件至遠程服務器

      dest 文件復制到遠程的絕對路徑

      owner root(Defaults) 文件復制到遠程并設定屬主

      group root(Defaults) 文件復制到遠程并設定屬組

      mode file=644,directory=755 文件復制到遠程并設定權限

      backup yes 備份被修改前的配置文件

      content 新建文件并給文件添加內容

      file模塊

      功能:為被控端創建文件或目錄,設定權限屬性;

      path 指定遠程服務器的路徑

      recurse 遞歸方式(可以是遞歸授權)

      state touch、directory、link、absent 文件復制到遠程的狀態

      owner root(Defaults) 文件復制到遠程并設定屬組

      group root(Defaults) 備份被修改前的配置文件

      mode file=644,directory=755 文件復制到遠程并設定權限

      lineinfile模塊

      功能:修改或刪除文件內容,與系統中的 sed 命令類似;

      path 指定要操作的文件

      regexp 使用正則表達式匹配對應的行

      line 修改為新的內容

      insertafter 將文本插入到“指定的行”之后

      insertbefore 將文本插入到“指定的行”之前

      state absent、present(Defaults) 刪除對應的文本時,需要

      state=absent

      backrefs yes、no 1.支持后向引用、2.當未匹配到內容則不操作文件

      backup 是否在修改文件之前對文件進行備份

      create 當要操作的文件并不存在時,是否創建對應的文件

      systemd模塊

      功能:管理服務啟動與停止,與 service 模塊用法一致;

      name httpd、nginx、... 定義要啟動服務的名稱

      state started、stopped、restarted、

      reloaded 指定服務狀態

      enabled yes、no 允許服務開機自啟或禁止服務開機自啟

      group模塊

      功能:管理被控端用戶組;

      name 指定創建的組名

      gid 為組設置可選gid

      state present(Default)、absent 是否將組創建在遠程主機上

      system yes、no(Default) 是否創建系統組

      user模塊

      功能:管理被控端用戶;

      【Ansible】ad-hoc與常用模塊

      name 創建或刪除的用戶名

      uid 為用戶設置可選uid

      group 為用戶設置主要的組

      groups 為用戶設置附加的組

      shell present(Default)、 absent 為用戶設置登陸時的Shell

      create_home yes(Default)、no 為用戶創建主目錄

      state present(Default)、 absent 用戶是否應該存在

      remove yes、no(Default) 刪除與用戶關聯的目錄,只有當 state=absent時生效

      generate_ssh_key yes、no(Default) 為相關用戶生成ssh密鑰。不會覆蓋現有的ssh密鑰

      ssh_key_bits 2048 創建用戶ssh密鑰中位數

      ssh_key_file .ssh/id_rsa(Default) 可以實現ssh密鑰改名,或變更存放ssh密鑰位置

      cron模塊

      功能:管理被控端計劃任務;

      name 定時任務基本描述

      job 定時任務要執行的命令

      minute (Default)、0-59 分

      hour (Default)、0-23 時

      day (Default)、1-31 日

      month (Default)、1-12 月

      weekday (Default)、0-6 周

      mount模塊

      功能:管理被控端設備掛載;

      src 本地或遠程設備的路徑

      path 設備掛載至本地的路徑

      fstype xfs、nfs... 文件系統類型

      opts defaults、ro... 掛載的參數

      state absent、mounted、unmounted 掛載的狀態

      hostname模塊

      功能:管理被控端主機名稱;

      archive模塊

      功能:打包與壓縮;

      path 要壓縮的文件或目錄

      dest 壓縮后的文件

      format bz2、gz、tar、xz、zip 指定打包壓縮的類型

      unarchive模塊

      功能:解包與解壓縮;

      src 要解壓的軟件包路徑

      dest 解壓到目標位置

      remote_src yes、no(default) yes:要解壓的包在被控端、no:要解壓的包 在控制

      selinux模塊

      功能:管理 SELINUX 防火墻;

      state enforcing、permissive、disabled Selinux模式

      ssh

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:技術爆料二:面對華為云S6云服務器超豐富的鏡像,如何快選出你心儀的那個“它”
      下一篇:業務訂單管理的好處
      相關文章
      亚洲制服丝袜第一页| 亚洲av激情无码专区在线播放 | 亚洲精品无码永久在线观看你懂的| 亚洲av无码成人精品区在线播放 | 国产L精品国产亚洲区久久| 国产成人va亚洲电影| 亚洲国产区男人本色| 亚洲欧美成人av在线观看| 国产成+人+综合+亚洲专| 亚洲人成777在线播放| 亚洲一级免费视频| 精品日韩99亚洲的在线发布| 亚洲免费网站在线观看| 亚洲一区二区影视| 亚洲日韩久久综合中文字幕| 亚洲精华国产精华精华液| 色婷婷六月亚洲综合香蕉| 免费在线观看亚洲| 亚洲人成网站在线观看青青| 国产亚洲精品高清在线| 久久亚洲精品视频| 亚洲激情视频在线观看| 亚洲毛片无码专区亚洲乱| 亚洲中文字幕无码av在线| 成人区精品一区二区不卡亚洲| 亚洲欧美日韩久久精品| 亚洲精品色在线网站| 亚洲人成无码网WWW| 亚洲精品无码永久中文字幕| 亚洲AV成人片色在线观看 | 在线观看亚洲专区| 在线日韩日本国产亚洲| 久久久青草青青亚洲国产免观| 亚洲国产成人久久综合一| 亚洲国产高清在线精品一区| 一本色道久久88—综合亚洲精品 | 免费在线观看亚洲| 亚洲精品乱码久久久久久自慰| 亚洲高清在线视频| 亚洲Av无码一区二区二三区| 亚洲爆乳精品无码一区二区|