saltstack-state用例

Posted Dream_biu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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等等。

以上是关于saltstack-state用例的主要内容,如果未能解决你的问题,请参考以下文章

XSS:如何从 C# 中的字符串中删除 JS 片段?

在单个活动中动态实现多个片段

导航抽屉背压片段无法加载

热门从另一个片段导航到主页片段

使用 (Child)FragmentManager 正确使用子子片段

在片段中,如何查找活动布局中定义的视图?