SaltStack自動化運維管理(二)——遠程執行

SaltStack自動化運維管理(二)——遠程執行

1. 遠程執行shell命令

Salt命令由三個主要部分構成:

salt '<target>' <function> [arguments]

  • target: 指定哪些minion, 默認的規則是使用glob匹配minion id
    salt '*' test.ping

  • Targets也可以使用正則表達式:
    salt -E 'server[1-3]' test.ping

  • Targets也可以指定列表:
    salt -L 'server2,server3' test.ping

  • funcation是module提供的功能,Salt內置了大量有效的functions
    salt '*' cmd.run 'uname -a'

  • arguments通過空格來界定參數:
    salt 'server2' sys.doc pkg #查看模塊文檔
    salt 'server2' pkg.install httpd
    salt 'server2' pkg.remove httpd

  • salt內置的執行模塊列表:
    http://docs.saltstack.cn/ref/modules/all/index.html

在這裏插入圖片描述

2. 編寫遠程執行模塊

如果感覺執行模塊不夠用,可以自己編寫遠程執行模塊

編輯master配置文件:

vim /etc/salt/master		#可以不用編寫,默認配置就是

file_roots:
  base:
    - /srv/salt

在這裏插入圖片描述

重啓master服務:

systemctl restart salt-master

創建模塊目錄:

mkdir /srv/salt
mkdir /srv/salt/_modules

編寫模塊文件:

vim /srv/salt/_modules/mydisk.py

def df():
    return __salt__['cmd.run']('df -h')

在這裏插入圖片描述

同步模塊:

salt '*' saltutil.sync_modules

在這裏插入圖片描述

在server2和server3中查看:

yum install -y tree
cd /var/cache/salt/
tree minion/

在這裏插入圖片描述
運行模塊:

salt server2 mydisk.df

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章