【非原創關于ansible的一些學習資料的整理

      網友投稿 915 2025-04-01

      一、前言

      先介紹幾個中文版的文檔吧,先上鏈接

      https://ansible-tran.readthedocs.io/en/latest/docs/intro_installation.html

      http://www.ansible.com.cn/docs/intro_getting_started.html

      以上兩個鏈接內容一模一樣,但是第一個提供了各種格式的下載,第二個沒有提供下載,好像是馬哥的團隊出品的,偶爾會彈出廣告

      http://getansible.com/

      二、安裝

      看上面文檔吧,略過

      三、ansible一些常用的模塊

      主要是為了記錄一些常用的模塊才寫的這個文檔,下面開始將我覺得比較常用的文檔記錄下來。

      ansible all -m “module”

      1、command模塊

      * 這個模塊不支持一些特殊字符比如:`<', `>', `|'等,所以如果想用這個可以使用接下來介紹的shell模塊

      * windows下“command/shell”模塊都不能使用,只能使用“win_command”模塊

      * 如果要重啟系統,只能使用reboot模塊和win_reboot模塊

      * 在遠程機器上執行本地的腳本,可以使用scripts模塊

      * 好像ansible的模塊,不管是shell還是command,都不能使用“tail -f”或者“top”這樣的命令

      示例:

      ansible all -m command -a "cat /etc/passwd"

      ansible all -m command -a "ls /root/ -la"

      ansible all -m command -a "/usr/bin/make_database.sh arg1 arg2 creates=/path/to/database" #這個creates 是在執行命令的時候判斷這個目錄是否存在,如果不存在就不繼續往下執行了

      2、shell模塊

      【非原創】關于ansible的一些學習資料的整理

      *有一些和command不一樣的地方,有一些比command好的地方,比如支持管道符、重定向符號等

      示例:

      ansible all -m shell -a "mkdir /root/testansible/testdir chdir=/root/testansible"#chdir 意思是先進入目錄然后再執行命令

      ansible all -m shell -a "mkdir /root/testansible/testdir creates=/root/testansible/testdir"#creates意思是先filename是否存在,如果存在則不執行命令

      ansible all -m shell -a "echo "testword" >> /root/testansible/testdir?removes=/root/testansible/testdir"#removes意思是如果不存在,則不執行

      如果在ansible-playbook中使用,則應該這么寫了

      shell:?echo "testword" >> /root/testansible/testdir

      args:

      chdir:?/root/testansible

      creates: somelog.txt

      3、yum模塊

      這個模塊很顯然是在紅帽系列的linux系統中進行包管理的模塊

      先介紹下個人覺得比較常用的模塊參數:

      update_cache:類似于yum clean all &&yum makecache命令,可選值為:yes/no,默認no

      state:包的最終需要的狀態,present/latest 是安裝包/最新的版的包,absent用于刪除包

      list:列出包,可選值為:`installed', `updates', `available' and `repos'

      download_only:下載包,只下載不安裝

      download_dir:下載包的目錄

      示例:

      ansible -m yum -a "name=httpd,state=latest"#安裝包

      ansible -m yum -a "name=httpd,state=absent"#移除包

      ansible -m yum -a "name=httpd-2.2.29-1.4.amzn1,state=present"#安裝指定版本的包(還可以在name處寫上包所在的絕對路徑安裝本地的包)

      ansible -m yum -a "name=*,state=latest"?#升級所有包

      4、apt模塊

      這個模塊的使用和yum很像,畢竟都是包管理軟件,apt模塊是管理ubuntu的包管理軟件

      比較常用的模塊參數:

      update_cache:可選值:yes/no,默認為no,如果為yes則類似于命令apt update

      upgrage:可選值為:yes/safe/full/dist,默認為yes,如果為yes/safe則類似于命令:apt upgrade

      deb:后面接遠程主機的deb包的絕對路徑

      示例:

      ansible -m apt -a "name=httpd , state=present"

      ansible -m apt -a "name=httpd , state=latest"

      ansible -m apt -a "name=httpd=2.2.29 , state=present"#安裝指定版本的httpd

      5、copy模塊和fetch模塊

      copy模塊的作用是將ansible執行主機的文件拷貝到遠程節點上,fetch模塊的作用是將遠程節點上的文件拷貝到ansible執行主機上;

      比較常用的模塊參數:

      src:源文件(目錄)的路徑,絕對路徑,如果路徑加“/”,則將目錄下的文件copy,如果不加則將此目錄copy

      dest:目的文件(目錄)路徑,如果src是文件夾,這個就必須是文件夾了

      backup:是否備份,默認no,可選參數“yes/no”

      follow:文件夾的link也會copy過去

      owner/group/mode:一些權限相關配置

      示例:

      ansible all -m copy -a "src=/tmp/tmpfile dest=/root/tmpfile.sh backup=yes owner=zhangsan group=zhangsan mode=0644"

      Shell

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

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

      上一篇:excel快捷(excel快捷鍵怎么設置
      下一篇:頁面橫線怎么上調?
      相關文章
      久久亚洲精品国产精品| 亚洲国产精华液网站w| 久久91亚洲精品中文字幕| 国产美女亚洲精品久久久综合| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲不卡视频在线观看| 亚洲视频欧洲视频| 亚洲视频一区网站| 亚洲国产成人手机在线电影bd| 亚洲精品91在线| 亚洲另类古典武侠| 日本亚洲精品色婷婷在线影院| 亚洲人成综合在线播放| 亚洲丝袜中文字幕| 亚洲精品午夜国产va久久| 中文字幕精品三区无码亚洲| 亚洲国产综合精品中文第一| 亚洲色www永久网站| 亚洲精华国产精华精华液网站| 亚洲第一综合天堂另类专| 亚洲国产成人精品无码区二本| 亚洲AV噜噜一区二区三区| 国产成人精品日本亚洲语音| 国产亚洲精品2021自在线| 亚洲精品97久久中文字幕无码| 亚洲人成电影网站国产精品 | 黑人大战亚洲人精品一区 | 国产精品亚洲综合久久| 亚洲乱码日产精品一二三| 蜜桃传媒一区二区亚洲AV| 男人的天堂亚洲一区二区三区 | 亚洲专区一路线二| 亚洲欧美不卡高清在线| 无码天堂亚洲国产AV| 久久久久亚洲AV成人网人人网站 | 亚洲人成网站看在线播放| 亚洲精品天堂成人片AV在线播放| 18禁亚洲深夜福利人口| 亚洲男人在线无码视频| 亚洲精品中文字幕乱码三区| 亚洲人成依人成综合网|