ansible常用命令

2021-06-26 01:30:23 字數 2914 閱讀 9810

ad-hoc常用命令是用來解決一些常用的簡單的配置命令,而且這些命令的執行速度很快。adhoc可以不用寫playbooks,使用方便簡單。

man ansible

ansible [-f forks] [-m module] [-a args]

arguments

pattern

組名,或者主機名,匹配hosts檔案。

options

-v --verbose

詳細模式,如果命令執行成功,輸出詳細的結果, 

-i path --inventory=path

指定host檔案的路徑,預設是在/etc/ansible/hosts

-f num --forks=num

num是指定乙個整數,預設是5,指定fork開啟同步程序的個數。

--private-key=private_key_file_path

使用指定的檔案建立認證連線

-m name --module-name=name

指定使用的module名稱

-m directory --module-path=directory

指定module的目錄來載入module,預設是/usr/share/ansible,

-a arguments

指定module模組的引數

-k --ask-pass

提示輸入ssh的密碼,而不是使用基於ssh的金鑰認證

-k --ask-sudo-pass   

提示輸入sudo密碼,與--sudo一起使用

-o --one-line

在一行內輸出所以的內容

-s --sudo

-u指定使用者的時候,使用sudo獲得root許可權

-t directory --tree=directory

將輸出放在指定的目錄下,命名為每乙個主機的名稱

-t seconds --timeout=seconds

超時時長

-b num --background=num

在後台執行命令,在指定num秒後kill該任務

-p num --poll=num

每隔num秒,poll乙個後台任務,跟-b一起使用

-u username --user=username

指定移動端的執行使用者

-u sudo_username    --sudo-user=username

sudo到sudo_username,替代root使用者

-c connection --connection=connection

指定建立連線的型別,一般有ssh ,localhost

files

/etc/ansible/hosts                預設的host檔案路徑

/usr/share/ansible                預設模組檔案存放路徑

/etc/ansible/ansible.cfg       配置檔案

file transfer

ansible通過scp可以將檔案傳輸到遠端主機上

#ansible webservers -m copy -a "src=/etc/hosts dest=/tmp/hosts"

將本機的/etc/hosts檔案拷貝到遠端主機組webservers中所有主機的 /tmp/hosts下。

file模組可以改變檔案的許可權和所屬使用者組

#ansible webservers -m file -a "dest=/usr/local/src/test mode=600 owner=www group=www"

file模組還可以建立目錄,類似mkdir -p

#ansible webservers -m file -a "dest=/a/b/c/d mode=755 owner=www group=www state=new"

同樣也可以刪除檔案

#ansible webserver -m file -a "dest=/tmp/hosts state=absent"

managing packages

ansible同樣提供了yum模組來安裝軟體包

確保乙個包已經安裝,但是不進行update操作

#ansible webservers -m yum -a "name=acme state=installed"

檢視已經安裝了指定版本的軟體包

#ansible webservers -m yum -a "name=acme-1.5 state=installed"

檢視安裝軟體包是否為最新版本

#ansible webservers -m yum -a "name=acme state=latest"

確保乙個軟體包是沒有安裝的

#ansible webservers -m yum -a 「name=acme state=removed"

ansible在platform上提供了模組用於包管理,如果你要安裝的軟體包在模組中不可用,你可以通過commond模組來安裝包。

users & groups

'user'模組可以方便的建立或者操作乙個使用者帳號,同樣的也可以刪除乙個使用者

#ansible all -m user -a "name=test password="

#ansible all -m user -a "name=test state=absent"

managing services

確定服務都是開啟的

重啟服務

關閉服務

Ansible常用命令

old 檢查主機連線 ansible caoguo m ping 執行遠端命令 ansible caoguo m command a uptime 執行主控端指令碼 ansible caoguo m script a etc ansible script test.sh 執行遠端主機的指令碼 ans...

ansible常用命令

ansible 預設提供了很多模組來供我們使用。在 linux 中,可以通過 ansible doc l 命令檢視到當前 ansible 都支援哪些模組,通過 ansible doc s 模組名 又可以檢視該模組有哪些引數可以使用 常用模組 所有示例以webserver為匹配目標主機。1.ping ...

Ansible入門 常用命令

ansible是用來批量配置伺服器的,達到配置自動化的目的。ansible使用ssh協議,無需配置agent,開箱即用。saltstack需要安裝agent,但部署速度快。核心模組 core,實現批量處理的命令 主機清單 etc ansible hosts 指令碼 playbook 大批量主機 yu...