一)第一部分查看file模塊支持哪些方法
[admin@master salt]$ sudo salt 'node2.51yuki.cn' sys.list_state_functions file
node2.51yuki.cn:
- file.absent
- file.accumulated
- file.append
- file.blockreplace
- file.comment
- file.copy
- file.directory
- file.exists
- file.managed
- file.missing
- file.mknod
- file.mod_run_check_cmd
- file.patch
- file.prepend
- file.recurse
- file.rename
- file.replace
- file.serialize
- file.symlink
- file.touch
- file.uncomment
二)常用的方法
1)file.managed 文件管理
常見參數:
* name: 節點上需要管理的文件
* source: 節點的源文件(源文件可以有多個),例如
file_override_example:
file.managed:
- source:
- salt://file_that_does_not_exist
- salt://file_that_exists
* user: 節點上文件屬主
* group: 節點上文件屬組
* mode: 節點上文件權限
* template: 支持jinja
* context:覆蓋文件上下文參數
* backup: minion 會備份到minion下的/var/cache/salt/minion/backup_files目錄下
例如:
案例1:
[admin@master init]$ sudo vim dns.sls
/etc/resolv.conf:
file.managed:
- source: salt://init/files/resolv.conf
- user: root
- group: root
- mode: 644
- backup: minion
- template: jinja
~
2)file.append 文件內容的追加
常用參數:
* text 要追加的內容 (支持填寫多個內容)
案例2:
/etc/motd:
file.append:
- text:
- Trust no one unless you have eaten much salt with him.
- "Salt is born of the purest of parents: the sun and the sea."
3) file.directory
功能:目錄管理
常用參數:
name: 目錄的位置(要用絕對路徑,也可以省略)
user: 目錄的屬主
group: 目錄的屬組
recurse:遞歸地執行用戶/組所有權和目錄模式
dir_mode: 目錄權限
file_mode: 文件權限
makedirs: 如果父目錄不存在,則創建父目錄
案例1:
/test/als:
file.directory:
- user: admin
- group: admin
- dir_mode: 755
- file_mode: 644
- makedirs: True
- recurse:
- user
- group
- mode
4)file.absent
功能:刪除文件或目錄
案例:
[admin@master study]$ vim absentfile.sls
/test/als:
file.absent:
- name: /test/als
~~~
[admin@master study]$ sudo salt 'node2*' state.sls study.absentfile
node2.51yuki.cn:
----------
ID: /test/als
Function: file.absent
Result: True
Comment: Removed directory /test/als
Started: 13:13:57.275015
Duration: 8.979 ms
Changes:
----------
removed:
/test/als
Summary
------------
Succeeded: 1 (changed=1)
Failed: 0
------------
Total states run: 1
~~~
- 第一章:saltstack的基本介紹
- 第二章:saltstack的安裝部署
- 第一節:在centos7系統上安裝saltstack工具
- 第二節:在windows server 2008上安裝salt-minion
- 第三章: saltstack的配置管理
- 第一節:salt-master配置
- 第二節:salt-minion配置
- 第三節:了解YAML
- 第四節:salt-master配置文件詳解
- 第五節:了解Jinja2
- 第六節:配置普通用戶可以運行saltstack的模塊
- 第四章:遠程執行
- 第一節:遠程執行基礎介紹
- 第二節:目標定位
- 一、全局及正則表達式匹配
- 二、列表匹配
- 三、Grains
- 四: Pillar
- 五:subnet and ip
- 六:組合匹配
- 七: node group
- 第三節:常用模塊
- 一、查看幫助
- 二、Network模塊
- 三、Service模塊
- 四:State模塊
- 五、Cron模塊
- 六、File模塊
- 七、iptables模塊
- 八、pkg包管理
- 第四節:Salt其他命令
- 一、salt-cp(拷貝文件)
- 二、salt-ssh
- 三、salt-key
- 第五節:saltstack返回程序
- 第一節:返回保持到數據庫(mysql)
- 第五章:配置管理
- 第一節:簡單入門
- 第二節:狀態間關系
- 第六章:數據系統
- 第一節:grains
- 第二節:pillar
- 第七章:saltstack配置管理
- 第一節:系統初始化操作
- 第二節:功能模塊
- 一、haproxy模塊
- 二、keepalived模塊
- 三、nginx模塊
- 四: pcre模塊
- 五: zlib模塊
- 六:user模塊
- 七:php模塊
- 第三節:業務模塊
- 第一節:haproxy代理
- 第二節:keepalived業務
- 第八章:自動化管理工具saltstack
- 第一節:文件管理
- 第二節:軟件管理
- 第三節:服務管理
- 第四節:sysctl模塊管理