如何在 saltstack 最新版本或文件中进行符号链接
How to symlink in saltstack latest version or file
ln -fs /opt/app/$(ls -rt file-*.jar | tail -n1) /opt/app/file.jar
在bash中工作得很好
目录包含
file-1.jar
file-2.jar
file-3.jar
如何在盐栈状态 sls 公式中执行此操作?
要在 Saltstack 中实现这一点,我们大约需要两个步骤:
- 获取最新文件
- Link 文件
对于第一部分,我们可以使用一些盐模块,例如file.find,但我觉得使用ls -rt
的现有逻辑更简单。
所以我们可以使用这个命令来获取最新的JAR文件到一个变量中。然后使用 Salt 状态 link 文件。
示例:
{% set latest_jar = salt.cmd.run('ls -rt /opt/app/file-*.jar | tail -n1') %}
link-latest-jar:
file.symlink:
- name: /opt/app/file.jar
- target: {{ latest_jar }}
更新:
对于较新版本的 Saltstack,我们需要使用 salt.cmd.shell
来设置 latest_jar
变量。
{% set latest_jar = salt['cmd.shell']('ls -rt /opt/app/file-*.jar | tail -n1') %}
link-latest-jar:
file.symlink:
- name: /opt/app/file.jar
- target: {{ latest_jar }}
适合我...感谢帮助
ln -fs /opt/app/$(ls -rt file-*.jar | tail -n1) /opt/app/file.jar
在bash中工作得很好
目录包含
file-1.jar
file-2.jar
file-3.jar
如何在盐栈状态 sls 公式中执行此操作?
要在 Saltstack 中实现这一点,我们大约需要两个步骤:
- 获取最新文件
- Link 文件
对于第一部分,我们可以使用一些盐模块,例如file.find,但我觉得使用ls -rt
的现有逻辑更简单。
所以我们可以使用这个命令来获取最新的JAR文件到一个变量中。然后使用 Salt 状态 link 文件。
示例:
{% set latest_jar = salt.cmd.run('ls -rt /opt/app/file-*.jar | tail -n1') %}
link-latest-jar:
file.symlink:
- name: /opt/app/file.jar
- target: {{ latest_jar }}
更新:
对于较新版本的 Saltstack,我们需要使用 salt.cmd.shell
来设置 latest_jar
变量。
{% set latest_jar = salt['cmd.shell']('ls -rt /opt/app/file-*.jar | tail -n1') %}
link-latest-jar:
file.symlink:
- name: /opt/app/file.jar
- target: {{ latest_jar }}
适合我...感谢帮助