zoukankan      html  css  js  c++  java
  • saltstack-state用例

    创建目录

    1. /home/work/logs/{{ project }}:
    2. file.directory:
    3. - order: 1
    4. - makedirs: True
    5. - user: work
    6. - group: work
    7. - dir_mode: 755

    unless用法:

    1. {{ project }}-file:
    2. file.managed:
    3. - order: 3
    4. - name: /home/work/www/code/{{ project}}/{{ version }}.tar.gz
    5. - source: salt://webapps/{{ project}}/files/code/{{ env }}/{{ version }}.tar.gz
    6. - user: work
    7. - group: work
    8. - unless: test -f /home/work/www/code/{{ project}}/{{ version }}.tar.gz # 只有结果为False,才执行state

    onlyif用法:

    与unless正好相反,结果返回True才会执行。

    watch用法

    里面任何一个状态变化(有 change),就触发。 并不是所有 state 都支持 watch。(service state 能支持。)

    1. # 可以让某个 service 在配置文件被修改时,自动执行 reload / restart
    2. # (Salt 会直接调用 restart,除非设置 reload: True)
    3. ntpd:
    4. service.running:
    5. - watch:
    6. - file: /etc/ntp.conf

    require:

    1. vim:
    2. pkg.installed
    3. /etc/vimrc:
    4. file.managed:
    5. - source: salt://edit/vimrc
    6. - require:
    7. - pkg: vim

    在这个例子中, /etc/vimrc 文件并不会被placed(managed),直到 vim 软件包已安装

    cmd.run

    1. cmd.run:
    2. - order: 4
    3. - name: tar -zxf {{ version }}.tar.gz && chown -R work:work {{ version }} && rm {{ version }}.tar.gz
    4. - cwd: /home/work/www/code/{{ project}}
    5. - unless: test -d /home/work/www/code/{{ project}}/{{ version }}

    name:shell真正执行的命令,cwd是命令在哪个目录下执行

    创建软连接

    1. /tmp/haha:
    2. file.symlink:
    3. - makedirs: True
    4. - force: True
    5. - user: work
    6. - group: work
    7. - target: /proc

    force会覆盖已经存在的软连接
    target:是软连接的源路径

    cmd.run

    1. php-fpm-service:
    2. cmd.wait:
    3. - order: 7
    4. - name: kill -USR2 `cat /home/work/php/var/run/php-fpm.pid`
    5. - watch:
    6. - file: /home/work/www/run/{{ project }}

    cmd.wait不能自己用需要配合watch来使用,watch监控文件发生改变后,执行cmd.wait函数定义的内容,比如这个例子就是运行命令kill -USER2等等。

  • 相关阅读:
    201521123033《Java程序设计》第10周学习总结
    201521123033《Java程序设计》第9周学习总结
    201521123033《Java程序设计》第8周学习总结
    201521123033《Java程序设计》第7周学习总结
    201521123033《Java程序设计》第6周学习总结
    201521123033《Java程序设计》第5周学习总结
    一个Markdown的例子
    201521123033《Java程序设计》第4周学习总结
    201521123033《Java程序设计》第3周学习总结
    maven私服
  • 原文地址:https://www.cnblogs.com/yangruizeng/p/8376303.html
Copyright © 2011-2022 走看看