查看ansible都有哪些模块:
查看模块的用法:
fetch模块:将受管主机中的文件拉取到ansible主机上。
执行完之后,会自动创建192.168.116.152/etc/这个目录,并将拉取来的文件放到这个目录下。
当返回信息为绿色,change为false,表示ansible没有进行任何操作,没有改变什么。
当返回信息为×××,change为true,表示ansible执行了操作,当前状态已经被anisble改变了目标状态。
copy模块:
copy模块的作用就是拷贝文件,将ansible主机上的问文件拷贝到远程主机上。有很多参数是可以用的,不细说。
参数:force如果远程主机有已经存在同名文件,是否强制覆盖。
backup当远程主机存在同名文件,是否备份
owner:指定拷贝到晕车主机后的属主,但是必须要有相应的用户,否则报错,group,mode类似。
file模块:可以帮助我们完成一些对文件的基本操作,比如:创建文件或目录,删除文件或目录,修改文件权限等。
参数:
path:指定要操作的是文件或目录。
state:指定在远程主机创建的文件类型,目录,文件,链接文件,当值设定为absent,表示删除目标。
src:当state指定创建的是软硬链接文件时,需要指定源文件。
force:创建软硬链接文件时使用,场景一:当源文件不存在时强制创建,场景二:当创建链接文件的目录已经存在与链接文件同名的文件时,相当于删除同名文件创建链接文件,场景三:当创建链接文件的目录已经存在与链接文件同名的文件时,并且源文件并不存在,这是会强制奇幻同名文件为链接文件。
owner,group指定被操作文件的属主,属组。
mode:执行被操作文件的权限。
rescurse:递归创建目录。
blockinfile模块:可以帮助我们在指定的文件中插入一段文本,这段文本是被标记过的,我们在这段文件上做了几号,以便在以后的操作中可以通过”标记“找到这段文件,然后修改或者删除它。
例子:
lineinfile模块
借助lineinfile模块,确保“某一行文本”存在指定的文件中,或者确保从文件中删除指定的“文本”(即确保指定的文本不存在于文件中),还可以根据正则表达式,替换“某一行文本”。
1.如果指定的文本本来就存在于文件中,则不做任何操作,如果指定的文本不存在文件中,就会将文本插入文件的最后一行中。
find模块
find模块可以帮助我们在远程主机中查找符号条件的文件,就像find命令一样。
replace模块
replace模块可以根据我们指定的正则表达式替换文件中的字符串,文件中所有被正则匹配到的字符串都会被替换
command模块
command模块可以帮助我们在远程主机上执行命令。
注意:使用command模块在远程主机中执行命令时,不会经过远程主机的shell处理,在使用command模块时,如果需要执行的命令中含有重定向,管道符等操作时,这些符号也会失效,比如”<“,">","|",";"和”&“这些符号,如果你需要这些功能,可以参考后面介绍的shell模块,还有一点需要注意,如果远程节点是windows操作系统,则需要使用win_command模块。
shell模块
shell模块可以帮助我们在远程主机上执行命令,与command模块不同的是,shell模块在远程主机中执行命令时,会经过远程主机上的/bin/sh程序处理。
使用shell模块可以在远程服务器上执行命令,它支持管道与重定向等符号。如下:使用>符号进行文件覆盖
script模块
script模块可以帮助我们在远程主机上执行ansible主机上的脚本,也就是说,脚本一直存在于ansible主机本地,不需要手动拷贝到远程主机后再执行。
cron模块
可以帮助我们管理远程主机中的计划任务,功能相当于crontab命令。
了解cron模块的参数之前,先写出一些计划任务的事例,如下:
1.表示每3天执行一次计划文件,于当天1点1分执行,具体任务 输出test
1 1 */3 * * echo test
2.表示每次系统启动后需要执行一次计划任务,具体任务输出test
@reboot echo test
3.表示没小时执行一次计划任务,具体任务输出test字符串
@hourly echo test
例子:
在pro远程主机上创建计划任务,任务名称为"test crontab",任务于每天1点5分执行。如下在ansible主机上执行之后会在远程主机生成定时任务,可以使用 crontab -l 查看。
2.之前已经创建crontab day test这个任务,如要要想注释掉这个任务,可以使用如下命令,使用的时候需要注意,在注释任务时,所有设定需要跟原设定保持一致,包括(name,job,时间段)。否则计划任务的设置将会发生变化。如下:
service模块:
service模块可以帮助我们管理远程主机上的服务,比如,启动或者停止远程主机中的nginx服务
user模块
user模块可以帮助我们管理远程主机上的用户,比如创建用户,修改用户,删除用户,为用户创建密钥等操作。
转载于:https://blog.51cto.com/11726212/2378182