查看ansible都有哪些模块:nginx
查看模块的用法:
fetch模块:将受管主机中的文件拉取到ansible主机上。
正则表达式
执行完以后,会自动建立192.168.116.152/etc/这个目录,并将拉取来的文件放到这个目录下。shell
当返回信息为绿色,change为false,表示ansible没有进行任何操做,没有改变什么。windows
当返回信息为×××,change为true,表示ansible执行了操做,当前状态已经被anisble改变了目标状态。服务器
copy模块:
copy模块的做用就是拷贝文件,将ansible主机上的问文件拷贝到远程主机上。有不少参数是能够用的,不细说。ide
参数:force若是远程主机有已经存在同名文件,是否强制覆盖。fetch
backup当远程主机存在同名文件,是否备份
url
owner:指定拷贝到晕车主机后的属主,可是必需要有相应的用户,不然报错,group,mode相似。
spa
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模块能够帮助咱们管理远程主机上的用户,好比建立用户,修改用户,删除用户,为用户建立密钥等操做。