zoukankan      html  css  js  c++  java
  • SaltStack学习系列之state常用模块

    常用模块: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  

      

  • 相关阅读:
    The Stanford Natural Language Processing Group
    HTTP和Socket
    数据挖掘之R与SQL
    redis运维的一些知识点
    ICTCLAS2011免费发布
    异步IO一定更好吗?
    试用wincvs2.0
    本地访问服务器上的wamp
    如何解决wamp中apache外部IP访问问题
    高级设置电脑系统windows7防火墙出错代码0×6D9原因与解决技巧
  • 原文地址:https://www.cnblogs.com/chadiandianwenrou/p/7326603.html
Copyright © 2011-2022 走看看