常用模組:cron,cmd,file,mount,ntp,pkg,service,user,group
cmd模組
引數:name:要執行的命令
unless:用於檢查的命令,只有unless指向的命令返回false時才執行name那行的命令
cwd:執行命令時的目錄,預設為root
user:以指定使用者身份執行命令
group:以指定使用者組身份執行命令
run:執行name後的命令
require:確保某個模組執行之後才執行這個模組
例項
[root@test81 ~]#cat install.sls
nginx_source: ##自定義命名
file.managed:
- name: /tmp/nginx-1.4.5.tar.gz #這個是指minion端
- unless: test -f /tmp/nginx-1.4.5.tar.gz #
#若minion端不存在/tmp/nginx-1.4.5.tar.gz這個檔案,才會執行這個file模組
- source: salt://nginx/files/nginx-1.4.5.tar.gz ##這個是指master端檔案存放的位置,意思是把master端salt://nginx/files/nginx-1.4.5.tar.gz檔案copy到minion端/tmp/nginx-1.4.5.tar.gz
tar_nginx: ##自定義命名
cmd.run:
- cwd: /usr/local/src #
#當前工作目錄
- name: tar zxvf nginx-1.4.5.tar.gz
- unless: test -d /usr/local/src/nginx-1.4.5 #
#若minion端不存在/usr/local/src/nginx-1.4.5 這個目錄,才會執行name後命令
-require: ##確保nginx_source裡的file模組執行成功才執行這個cmd模組
- file: nginx_source
pkg模組
引數:installed:安裝
latest:將軟體更新到最新
removed:刪除軟體
pkgs:安裝多個軟體包時,一次全部安裝(推薦)
names:安裝多個軟體包時,一次安裝乙個(不推薦)
例項
mypkgs:pkg.installed:
- pkgs: #
安裝多個軟體包,用pkgs函式一次全部安裝,一行乙個
-gcc
-cmake
-make
#- name: httpd #安裝多個軟體包,一次安裝乙個,與pkgs一起用時,此函式將被忽略
user模組
present:建立使用者
absent:刪除使用者
fullname:使用者名稱
password:密碼
uid:
gid:
createhome:true為建立家目錄,false不建立家目錄
home:使用者家目錄
hwg:user.present:
-fullname: jim
- shell: /bin/bash
- home: /home/hwg
- uid: 600
- gid: 600
-groups:
-wheel
-storage
- games
file.managed
引數:user:使用者
group:使用者組
mode:檔案屬性(如644)
template:模板型別(比如:jinja)
makedirs:預設為false,如果被管理的檔案父目錄不存在則失敗,如果為true,如果父目錄不存在則會建立
dir_mode:設定建立目錄的許可權
replace:預設為true,若設定為false將不替換檔案內容,但是會更改許可權
context:覆蓋檔案上下文引數
default:預設上下文引數
backup:備份功能,有改動才備份,會備份到minion下的:/var/cache/salt/minion/backup_files
show_off:設定成false,則不顯示更改的不同點,預設為true
create:預設為true,如果設定為false,在檔案存在的情況下則只更改檔案
contents:預設為空,新增字串到文字中
例項:
nginx_source:file.managed:
- name: /tmp/nginx-1.5.1.tar.gz
- unless: test -e /tmp/nginx-1.5.1.tar.gz
-user: root
-group: root
-makedirs: true
- source: salt://nginx/file/nginx-1.5.1.tar.gz
saltstack 模組學習之 state
入口檔案top.sls 三要素 環境 通過file roots指定 目標主機 可以使用萬用字元 配置檔案路徑 路徑分割符為.比如a.mysql 表示在環境指定的路徑下有個a目錄,a目錄下有個mysql.sls檔案 每個相同要素下的元素為並列關係,使用列表 source salt hello etc ...
saltstack之virt模組建立虛擬機器分析之二
那今天說下第2種,命令執行格式如下 salt kvm.tiancity.com virt.init web20 4 512 nic nics disk system 在這裡,我們需要注意下對與kvm qemu不允許使用profile,我們需要將virt.py改下 這樣,就允許我的試驗環境了。我的想法...
saltstack之virt模組建立虛擬機器分析之二
那今天說下第2種,命令執行格式如下 salt kvm.tiancity.com virt.init web20 4 512 nic nics disk system 在這裡,我們需要注意下對與kvm qemu不允許使用profile,我們需要將virt.py改下 這樣,就允許我的試驗環境了。我的想法...