首页 > 代码库 > SaltStack 常用模块介绍 - service - pkg - file

SaltStack 常用模块介绍 - service - pkg - file

  1.  salt ‘*‘ sys.state_doc service
  2. salt-minion:
        ----------
        service:
            
            Starting or restarting of services and daemons
            ==============================================
            
            Services are defined as system daemons typically started with system init or
            rc scripts, services can be defined as running or dead.
            
                httpd:
                  service.running: []
            
            The service can also be set to be started at runtime via the enable option:
            
                openvpn:
                  service.running:
                    - enable: True
            
            By default if a service is triggered to refresh due to a watch statement the
            service is by default restarted. If the desired behavior is to reload the
            service, then set the reload value to True:
            
                redis:
                  service.running:
                    - enable: True
                    - reload: True
                    - watch:
                      - pkg: redis
            
            Note:
            
                More details regarding ``watch`` can be found in the
                :doc:`Requisites </ref/states/requisites>` documentation.
            
        service.dead:
            
                Ensure that the named service is dead by stopping the service if it is running
            
                name
                    The name of the init or rc script used to manage the service
            
                enable
                    Set the service to be enabled at boot time, ``True`` sets the service
                    to be enabled, ``False`` sets the named service to be disabled. The
                    default is ``None``, which does not enable or disable anything.
            
                sig
                    The string to search for when looking for the service process with ps
                
        service.disabled:
            
                Verify that the service is disabled on boot, only use this state if you
                don‘t want to manage the running process, remember that if you want to
                disable a service to use the enable: False option for the running or dead
                function.
            
                name
                    The name of the init or rc script used to manage the service
                
        service.enabled:
            
                Verify that the service is enabled on boot, only use this state if you
                don‘t want to manage the running process, remember that if you want to
                enable a running service to use the enable: True option for the running
                or dead function.
            
                name
                    The name of the init or rc script used to manage the service
                
        service.mod_watch:
            
                The service watcher, called to invoke the watch command.
            
                name
                    The name of the init or rc script used to manage the service
            
                sfun
                    The original function which triggered the mod_watch call
                    (`service.running`, for example).
            
                sig
                    The string to search for when looking for the service process with ps
                
        service.running:
            
                Verify that the service is running
            
                name
                    The name of the init or rc script used to manage the service
            
                enable
                    Set the service to be enabled at boot time, True sets the service to
                    be enabled, False sets the named service to be disabled. The default
                    is None, which does not enable or disable anything.
            
                sig
                    The string to search for when looking for the service process with ps
    salt-minion:
        - pkg.installed 
        - pkg.latest
        - pkg.mod_aggregate
        - pkg.mod_init
        - pkg.purged
        - pkg.removed
        - pkg.uptodate

    ES:
    redis-install:
    pkg.installed:
    - pkgs:
    - redis
    service-start:
    service.running:
    - enable: True
    - reload: True
    - watch:
    - pkg.redis-install

     

  3. salt ‘*‘ sys.list_state_functions file
    salt-minion:
        - 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

    ES:
    /tmp/test.txt:
    file.managed:
    - name: /tmp/test.txt
    - source: salt://files/src.txt
    - mkdirs: True
    nginx:
      pkg.installed:
        - name: nginx
        - pkgs:
          - nginx
          - redis
        - watch_in:
          - file.file-copy
    
    file-copy:
      file.managed:
        - name: /etc/nginx/conf.d/default.conf
        - source: salt://nginx/files/default.conf
        - template: jinja
        - mkdirs: True
        - watch_in:
          - service.service-start
    - cmd.service-reload service-start: service.running: - name: nginx - enable: True - reload: True

    service-reload:
    - cmd.run:
    - `which nginx` -s reload

    备注:上面的 sls中,存在一个bug,现象是,如果conf文件改变,nginx不会reload,配置不生效, 具体原因不清楚,不过可以使用出cmd模块解决。
    
    

     

    
    

     

SaltStack 常用模块介绍 - service - pkg - file