标签:salt cmd.script
salt ‘*‘ cmd.script
cmd.run 这个前面说了
cmd.script
这个是比较强大的命令,意思是可以从远程下载一个脚本在客户端执行
CLIExample:
salt ‘*‘ cmd.script salt://scripts/runme.sh
salt ‘*‘ cmd.script salt://scripts/runme.sh ‘arg1 arg2 "arg 3"‘
帮助文档说Thescript can be located on the salt master file server or on an HTTP/FTP server.
所以配置一下salt服务端, 把脚本放在服务端
编辑/etc/salt/master,打开下面的注释,保存后重启服务端
file_roots:
base:
- /srv/salt
如果没有/srv/salt/script目录就创建一个
cd/srv/salt/scripts
写一个shell脚本保存为1.sh
#!/bin/bash
echo "test salt" > /tmp/testsalt.txt
复制代码
执行远程命令
salt ‘cn-gd-gz-0001‘ cmd.script salt://scripts/1.sh
复制代码
显示的信息还是很直观的,stdout没有信息显示是因为脚本语句没有显示文本,可以加多一句echo “ok”再执行多一次就可以看到输出了.
看帮助好像还可以在执行脚本时添加命令行参数,试试
修改脚本为
#!/bin/bash
echo "test salt" > /tmp/testsalt.txt
echo $1
echo $2
echo $3
if [ "$3"x = "yy"x ]
then
echo "ok ???????????????"
fi
复制代码
再次执行远程命令
salt ‘cn-gd-gz-0001‘ cmd.script salt://scripts/1.sh "aa bb cc"
salt ‘cn-gd-gz-0001‘ cmd.script salt://scripts/1.sh "aa bb yy"
复制代码
看起来传递的参数有效的
本文出自 “智能化未来_XFICC” 博客,请务必保留此出处http://xficc.blog.51cto.com/1189288/1674925
标签:salt cmd.script
原文地址:http://xficc.blog.51cto.com/1189288/1674925