command模塊
作用:執(zhí)行一個(gè)命令在遠(yuǎn)程節(jié)點(diǎn)上
參數(shù)說(shuō)明:
chdir:在執(zhí)行命令之前叭首,通過(guò)cd命令進(jìn)入到指定目錄中
creates:定義一個(gè)文件是否存在冤议,如果不存在仙蚜,則運(yùn)行相應(yīng)命令,如果存在則跳過(guò)
removes:定義一個(gè)文件是否存在为朋,如果存在品姓,則運(yùn)行相應(yīng)命令谈跛,如果不存在則跳過(guò)
參數(shù)實(shí)踐:
ansible rsync_s -m command -a 'uptime'
ansible rsync_s -m command -a 'chmod 000 /yum.sh warn=False'
tips:-m指定使用的模塊
-a指定使用模塊中的命令參數(shù)
#tips:此命令默認(rèn)可以不用-m指定模塊信息,并且需要注意在使用的時(shí)候箫踩,命令終不能包含變量類似$HOME和參數(shù)類似">""<""|"and"&"
shell模塊
作用:執(zhí)行一個(gè)命令在遠(yuǎn)程節(jié)點(diǎn)上(可以執(zhí)行帶“<”,“>”,變量等命令)
參數(shù)說(shuō)明:
chdir:在執(zhí)行命令之前爱态,通過(guò)cd命令進(jìn)入到指定目錄中
creates:定義一個(gè)文件是否存在,如果不存在班套,則運(yùn)行相應(yīng)命令肢藐,如果存在則跳過(guò)
removes:定義一個(gè)文件是否存在,如果存在吱韭,則運(yùn)行相應(yīng)命令吆豹,如果不存在則跳過(guò)
參數(shù)實(shí)踐:
ansible rsync_s -m shell -a 'hostname;uptime'
ansible rsync_s -m shell -a '/server/scripts/yum..sh'
#tips:在利用shell模塊實(shí)現(xiàn)批量執(zhí)行遠(yuǎn)程主機(jī)腳本時(shí)鱼的,腳本必須在遠(yuǎn)程主機(jī)上存在,并且有執(zhí)行權(quán)限
script模塊
作用:遠(yuǎn)程節(jié)點(diǎn)上運(yùn)行本地腳本模塊
參數(shù)說(shuō)明:
creates:定義一個(gè)文件是否存在痘煤,如果不存在凑阶,則運(yùn)行相應(yīng)命令,如果存在則跳過(guò)
removes:定義一個(gè)文件是否存在衷快,如果存在宙橱,則運(yùn)行相應(yīng)命令,如果不存在則跳過(guò)
#tips:不受變量和參數(shù)類似"<"">"的影響
參數(shù)實(shí)踐:
ansible rsync_s -m script -a "/server/scripts/yum.sh"
#tips:利用script遠(yuǎn)程執(zhí)行主機(jī)腳本時(shí)蘸拔,腳本不用在遠(yuǎn)程主機(jī)上存在和授權(quán)
copy模塊
作用:復(fù)制文件到遠(yuǎn)程主機(jī)
參數(shù)說(shuō)明:
src:本地路徑文件復(fù)制到遠(yuǎn)程服務(wù)器
dest:文件應(yīng)該被拷貝到的遠(yuǎn)程絕對(duì)路徑信息师郑,如果src是一個(gè)目錄,那么调窍,dest也必須是一個(gè)目錄
owner:定義所擁有的文件/目錄的所屬用戶名稱宝冕,類似chown命令功能
group: 定義所擁有的文件/目錄的所屬組名稱,類似chown命令功能
mode:定義文件或目錄的權(quán)限信息
backup:創(chuàng)建備份文件并且包含時(shí)間戳信息邓萨,以便能夠還原原文件地梨,默認(rèn)為no。
content:當(dāng)使用src參數(shù)時(shí)缔恳,將文件的內(nèi)容直接設(shè)置為指定值宝剖,遠(yuǎn)端創(chuàng)建有指定內(nèi)容的文件,并且只能設(shè)置簡(jiǎn)單值歉甚。
force:默認(rèn)yes万细,當(dāng)遠(yuǎn)程文件內(nèi)容和源文件內(nèi)容不同時(shí),將覆蓋目標(biāo)文件纸泄。
#tips: copy模塊是遠(yuǎn)程推送數(shù)據(jù)模塊雅镊,只能講數(shù)據(jù)推送到遠(yuǎn)程主機(jī)上,不能實(shí)現(xiàn)拉取數(shù)據(jù)到本地管理主機(jī)
參數(shù)實(shí)踐:
ansible rsync_s -m copy -a 'src=/etc/passwd dest=/tmp/passwd owner=rsync group=rsync mode=0644'
ansible rsync_s -m copy -a 'src=/etc/passwd dest=/tmp/passwd owner=rsync group=rsync backup=yes'
file模塊
作用:設(shè)置文件屬性
參數(shù)說(shuō)明:
src:本地路徑文件復(fù)制到遠(yuǎn)程服務(wù)器
path:文件路徑管理:別名方式dest:name
owner:定義所擁有的文件/目錄的所屬用戶名稱刃滓,類似chown命令功能
group: 定義所擁有的文件/目錄的所屬組名稱仁烹,類似chown命令功能
mode:定義文件或目錄的權(quán)限信息
state:如果指定參數(shù)為directory
#如果不存在子目錄將會(huì)被創(chuàng)建
如果指定參數(shù)為touch
#如果路徑不存在,將會(huì)創(chuàng)建一個(gè)空文件
如果指定參數(shù)為absent
#目錄將被遞歸刪除以及文件咧虎,而鏈接將會(huì)被取消鏈接
#如果定義文件不存在不會(huì)失敗卓缰,只是輸出沒有任何變化的結(jié)果
參數(shù)實(shí)踐:
ansible rsync_s -m file -a 'dest=/tmp/test_dir state=directory'
ansible rsync_s -m file -a 'dest=/tmp/test_file state=touch'
ansible rsync_s -m file -a 'src=/etc/hosts dest=/tmp/link_file state=link'
service/systemd模塊
作用:主要以控制服務(wù)為主
參數(shù)說(shuō)明:
name:定義所要管理的服務(wù)名稱
enable:確認(rèn)服務(wù)是否開機(jī)自啟
state:started/stopped 開啟/關(guān)閉
restarted 重啟操作
reloaded 平滑重啟
參數(shù)實(shí)踐:
ansible rsync_s -m service/systemd -a 'name=crond state=stop enabled=yes/true'
cron模塊
作用:管理定時(shí)任務(wù)條目信息模塊
參數(shù)說(shuō)明:
格式:minute hour day month weekday job'***************** 2>&1'
name:定時(shí)任務(wù)的描述信息
state:創(chuàng)建定時(shí)任務(wù)或刪除定時(shí)任務(wù)
user: 指定修改與編寫定時(shí)任務(wù)的用戶信息
參數(shù)實(shí)踐:
ansible rsync_s -m cron -a "name='Service Time ' job='/bin/touch /tmp/$(date +%F%T_%w)'.txt minute=1"
ansible rsync_s -m cron -a "name='Service Time ' state=absent"
mount模塊
作用:用于掛載
參數(shù)說(shuō)明:
present :不會(huì)當(dāng)即掛載,但會(huì)寫入/etc/fstab
mounted:會(huì)當(dāng)即掛載砰诵,并把信息寫入/etc/fstab
unmounted:卸載不清除/etc/fstab
absent: 卸載會(huì)清除/etc/fstab
參數(shù)實(shí)踐:
ansible rsync_s -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=present"
ansible web -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted"
user模塊
作用:復(fù)制文件到遠(yuǎn)程主機(jī)
參數(shù)說(shuō)明:
uid :指定用戶的uid
group :指定用戶組名稱
groups : 指定附加組名稱
password : 給用戶添加密碼
shell : 指定用戶登錄shell
create_home : 是否創(chuàng)建家目錄
參數(shù)實(shí)踐:
ansible rsync_s -m user -a “name=oldgirl uid=888 group=888 shell=/sbin/nologin create_home=no”
ansible rsync_s -m user -a ‘name=666'