第四篇: Ansible 常用模塊使用
一、 command | shell 模塊
該模塊為:執行命令模塊 (由於命令模塊較為強大,可根據自身對操作系統的熟練程度而增加。所以這裏不再介紹類似可以實現同功能模塊,比如service模塊,需要重啟某服務的操作使用命令行也可以完成,這裏以能快速上手且上手後可以開始工作為前提)
命令:ansible -m command -a ‘<命令行>‘ <ansible 分組名> 或 ansible -m shell-a ‘<命令行>‘ <ansible 分組名>
如:
二、copy 模塊
該模塊作用為:從ansible 主機指定文件遠程拷貝到節點主機上指定目錄
命令:ansible -m copy -a ‘src=<ansible 主機文件路徑> dest=<節點主機目錄路徑>‘ <ansible 分組名>
如:
三、fetch 模塊
該模塊為:從節點主機指定文件 遠程拷貝到 ansible 主機指定目錄(拷貝過來的是帶主機名的目錄樹)
命令:ansible -fetch -a ‘src=<節點主機文件路徑> dest=<ansible 主機目錄路徑>‘ <ansible 分組名>
如:
四、 script 模塊
該命令為:使用ansible 主機腳本遠程在節點主機上執行(其執行原理是,先copy到遠程主機,執行完成後再刪除腳本)
命令:ansible -m shell -a ‘<腳本路徑>‘ <ansible 分組名>
如:
1. 先寫一個簡單的腳本,腳本執行寫入文件操作,保存在/root/writefile.py
#!/usr/bin/env python # -*-coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding(‘utf-8‘) class ResultFile(object): def __init__(self): self.outfile = ‘/tmp/test.txt‘ def writefile(self): with open(self.outfile,‘w‘) as fs: fs.write(‘hello,word!‘) if __name__==‘__main__‘: start = ResultFile() start.writefile()
五、 user 模塊
該命令是對節點主機用戶進行處理
命令: ansible -m user -a ‘name=<username>groups=<grouname> state=<present|absent>‘ <ansible 分組名>
如:
1. 增加一個新用戶
2. 刪除一個用戶
六、 group 模塊
該命令是對節點主機用戶組 進行處理
命令: ansible -m group -a ‘name=<groupname> gid=<gidnumber> state=<present|absent>‘ <ansible 分組名>
如:
1. 增加一個新組
2. 刪除一個組
七、 file 模塊
該命令是對節點主機文件做處理
命令: ansible -m file -a ‘dest=<文件路徑> group=<組名> owner=<用戶名> mode=<權限>‘ <ansible 分組名>
如:
八、cron 模塊
該命令可以對節點主機添加crontab定時任務
命令: ansible -m cron -a ‘name="<計劃任務的註釋信息>" minute=<分> hour=<時> day=<日> month=<月> weekday=<周> user=<執行任務用戶名> job="<任務命令>"‘ <ansible 分組名>
如:
第四篇: Ansible 常用模塊使用