21运维原创,转载请注明出处。
在写这篇文章之前,感觉有些多余。因为之前已经写过文章《[原创]Saltstack远程执行学习笔记:模块module使用》 已经详细介绍了 如何查看组件,每个组件有哪些函数可以调用。 赶上朋友问我如何通过salt批量在服务器端执行shell脚本,看来还是有必要再补充一个。即:
[[email protected] shell]# salt "21yunwei" cmd.script salt://shell/etcbak.sh
21yunwei:
----------
pid:
422
retcode:
0
stderr:
tar: Removing leading `/' from member names
stdout:
etc bakup sucess
说明:
1,cmd.script这个组件就是在远程服务器上执行shell脚本使用。具体使用方法可以通过如下命令了解:
[[email protected]]# salt "21yunwei" sys.doc cmd.script
2,要执行的脚本放到/srv/salt下的目录中,这个目录可以理解成根目录,salt://就是等价于/srv/salt。比如我执行的测试脚本就放到了/srv/salt/shell/etcbak.sh
执行的测试脚本内容:
#!/bin/bash
time=`date +%F`
[ ! -d /home/21yunwei/etcbak ] && mkdir -p