优秀的编程知识分享平台

网站首页 > 技术文章 正文

Ansible模块学习之script模块(ansible模板)

nanyue 2024-07-20 23:55:18 技术文章 16 ℃

script模块

看到script就知道这个模块和脚本有关系。没错,script模块功能就是本地的脚本,可以在远程机器上执行。也就是说,脚本一直在本地,不用拷贝到远程机器上。我们做个小实验来介绍script模块的用法。

首先在管理机器上我们写个很简单的脚本test.sh,在/root目录下。脚本内容如下:

#!/bin/bash
touch /tmp/testfile
echo "123" > /tmp/testfile

脚本的内容很简单,就是在tmp目录下创建一个testfile文件,然后把”123“写入test file文件中。

接下来我们就使用script模块,把本地的脚本在远程机器上执行

[root@localhost ~]# ansible 192.168.146.129 -m script -a "/root/test.sh"

我们可以看到已经正常执行完成了。我们在使用shell或者command模块来查看远程机器是否有testfile文件,里面的内容是不是”123“.

[root@localhost ~]# ansible 192.168.146.129 -m command -a "cat /tmp/testfile"

可以看见远程机器上有对应的文件,文件中的内容也是对的,

上面的小实验就介绍了script用法。非常简单。

小贴士:在本地执行脚本的时候要给脚本执行的权限才能执行。使用script模块时,脚本即使没有执行权限也可以在远程机器上执行的。

细心的同学可能发现了,并且产生疑问。

我们在本地执行命令的时候还会加个参数啥的,比如:ls -l ,rm -rf 等等。

为什么我们上面的使用各个模块的时候没有添加其他的参数呢?是没有参数吗?

这里要说明 一下。上面三个模块都有参数,但是基本上不会使用到。反正到现在,使用上面的三个模块我也没加过任何参数。所以我就直接省略掉。避免一些同学看到这么简单模块都要加参数。而丧失学习兴趣。

后面的模块讲解,我们也只会讲解常用的模块,不常用的模块简单提一下,或者直接就不讲。同样,模块的参数也是只讲常用的,不常用的就不讲,或一笔带过。所以你在看这本书的时候不要有这样的担心。我看了一堆的东西,结果没什么用。这是你不用担心的。我的目的就是写出有用的东西。不会写一些没用的东西来凑字数。也不会用一些高大上的词汇来显示自己很牛的样子。

我的目的是让你一点都不懂到入门。如果你入门了,我的目的就达到了。接下来的深入学习你就知道该如何去学习,去搜索资料。


模块预告下一篇讲解user模块

最近发表
标签列表