一、Python安裝saltstack
pip install salt
二、接口調用執行個體
1、test.ping
import salt.client
client = salt.client.LocalClient()
ret = client.cmd('*','test.ping')
print ret
2、cmd子產品
1)功能:實作遠端指令的調用執行
2)執行個體:
擷取所有主機的記憶體使用情況 salt '*' cmd.run "free -m"
client.cmd('SN2016-02-04','cmd.run',['free -m'])
3、cp子產品
1)功能:實作遠端檔案複制、目錄複制、以及下載下傳URL檔案等操作
将制定被控主機的/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 '*' vcp.get_file salt://path/to/file /minion/dest
下載下傳URL内容到被控主機指定位置
client.cmd('XN2016-02-04','cp.get_file',['salt://path/to/file','/minion/dest'])
4、file 子產品
1)功能:被控主機檔案常見操作
2)執行個體
校驗所有被控主機的/etc/paddwd檔案的MD5是否為lkhwln423lkn4l23kjh42l3j4ml,一緻則傳回Ture
salt '*' file.check_hash /etc/passwd md5=lkhwln423lkn4l23kjh42l3j4ml
在所有被控主機建立目錄
salt '*' file.mkdir /opt/test
将所有被控主機的/etc/httpd/httpd.conf檔案的LogLevel參數的warn修改成info
salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
給所有被控主機的/tmp/test/test.conf 檔案追加内容'maxclient 1000'
salt '*' file.append /tmp/test/test.conf 'maxclient 1000'
删除所有被控主機的/etc/foo檔案
salt '*' file.remove /etc/foo
client.cmd('*','file.remove',['/etc/foo'])
本文轉自aaron428 51CTO部落格,原文連結:http://blog.51cto.com/aaronsa/1741165,如需轉載請自行聯系原作者