1. 程式人生 > >第四篇: Ansible 常用模塊使用

第四篇: Ansible 常用模塊使用

__name__ 處理 ron mage minute art outfile and 刪除一個用戶

一、 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 常用模塊使用