salt常用模組及API

2021-09-07 04:43:49 字數 1436 閱讀 3260

saltstack提供了非常豐富的功能模組,涉及作業系統的基礎功能,常用工具支援等,更多模組資訊見官網模組介紹: 當然,也可以通過sys模組列出當前版本支援的模組。命令如下:

#salt '*' sys.list_modules

api的原理是通過呼叫master client模組,例項化乙個localclient物件,再呼叫cmd()方法來實現的,以下是api實現test.ping的示例:

import salt.client

client = salt.client.localclient()

ret = client.cmd('*','test.ping')

print ret

其結果以乙個標準的python字典形式的字串返回,可以通過eval()函式轉換成python的字典型別,方便後續的業務邏輯處理,程式執行結果如下:

另一例子:

>>> import salt.client

>>> local = salt.client.localclient()

>>> local.cmd('*', 'cmd.run', ['whoami'])

其它模組如:

salt '*' archive.gunzip /tmp/sourcefile.txt.gz   #支援gunzip、gzip、rar、tar、unrar、unzip等。

salt '*' archive.gzip /tmp/sourcefile.txt

api呼叫:client.cmd('*','archive.gunzip',['/tmp/sourcefile.txt.gz'])

salt '*' cmd.script salt://script/test.sh #該命令會做兩個動作:首先同步test.sh到minion的cache目錄(如同步到/var/cache/salt/minion/files/base/script/test.sh);其次執行該test.sh指令碼

#將指定被控主機的/etc/hosts檔案複製到被控主機本地的salt cache目錄(/var/cache/salt/minion/localfiles/)

salt '*' cp.cache_local_file /etc/hosts

#將主伺服器file_roots指定位置下的目錄複製到被控主機

salt '*' cp.get_dir salt://path/to/dir/ /minion/dest

#將主伺服器file_roots指定位置下的檔案複製到被控主機

salt '*' cp.get_file salt://path/to/file /minion/dest

salt '*' cp.get_url /tmp/index.html

api呼叫:client.cmd('hudson','cp.get_file',['salt://path/to/file' , '/minion/dest'])

salt '*'

Ansible常用模組及API

安裝epel作為安裝ansible的yum源 centos6.4 安裝ansible yum install ansible y 配置檔案 路徑 etc ansible hosts 配置說明 webservers為組名,下面的ip或網域名稱則是屬於該組的主機。webservers 192.168.1...

SaltSack入門(四)Salt常用模組使用

以下用一些例項說明salt一些常用的模組,進一步熟悉salt使用。pkg模組 1 安裝乙個軟體 vim pkg.installed name vim enhanced2 安裝多個軟體 vim pkg.installed names 多個值時,要修改為複數,names vim enhanced lrz...

Python shutil模組 常用api速查表

api args annotation shutil.copy src,dst 將檔案src複製到檔案或目錄dst。shutil.copytree src,dst,symlinks false,ignore none 以遞迴方式複製以src為根的整個目錄樹。目標目錄dst必須不存在 它和父目錄將一起...