Day39-ansibe常用模塊

模塊 作用
command 執(zhí)行命令
shell 執(zhí)行命令(支持管道符)
yum 安裝軟件模塊
copy 配置模塊
service 啟動(dòng)服務(wù)模塊
user 用戶管理
file 創(chuàng)建目錄,創(chuàng)建文件,往文件寫(xiě)內(nèi)容
cron 定時(shí)任務(wù)
mount 掛載

command命令模塊

默認(rèn)模塊, 執(zhí)行命令
[root@m01 ~]# ansible oldboy  -a "hostname"

如果需要一些管道操作,則使用shell
[root@m01 ~]# ansible oldboy -m shell -a "ifconfig|grep eth0" -f 50
-f =forks /etc/ansible/ansible.cfg #結(jié)果返回的數(shù)量

yum安裝模塊

推送腳本文件至遠(yuǎn)程,遠(yuǎn)程執(zhí)行腳本文件
[root@m01 ~]# ansible oldboy -m yum -a "name=httpd state=installed"
name    ---指定要安裝的軟件包名稱(chēng)
state   ---指定使用yum的方法
installed,present   ---安裝軟件包
removed,absent      ---移除軟件包
latest               ---安裝最新軟件包

copy模塊

推送文件模塊
[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt owner=www group=www mode=0600"


在推送覆蓋遠(yuǎn)程端文件前,對(duì)遠(yuǎn)端已有文件進(jìn)行備份,按照時(shí)間信息備份
[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt backup=yes"

直接向遠(yuǎn)端文件內(nèi)寫(xiě)入數(shù)據(jù)信息,并且會(huì)覆蓋遠(yuǎn)端文件內(nèi)原有數(shù)據(jù)信息
[root@m01 ~]# ansible oldboy -m copy -a "content='bgx' dest=/tmp/oldboy"
copy模塊主要參數(shù)

src — 推送數(shù)據(jù)的源文件信息
dest — 推送數(shù)據(jù)的目標(biāo)路徑
backup — 對(duì)推送傳輸過(guò)去的文件,進(jìn)行備份
content — 直接批量在被管理端文件中添加內(nèi)容
group — 將本地文件推送到遠(yuǎn)端,指定文件屬組信息
owner — 將本地文件推送到遠(yuǎn)端,指定文件屬主信息
mode — 將本地文件推送到遠(yuǎn)端,指定文件權(quán)限信息
force — 分為force=no或yes,如果目標(biāo)主機(jī)包含該文件,但內(nèi)容不同,設(shè)置為yes,則強(qiáng)制覆蓋,如果為no,則只有當(dāng)目標(biāo)主機(jī)的目標(biāo)位置不存在該文件時(shí),才復(fù)制。默認(rèn)為yes

service服務(wù)模塊

[root@m01 ~]# ansible oldboy -m service -a "name=crond state=stopped enabled=yes"
主要參數(shù)

name — 定義要啟動(dòng)服務(wù)的名稱(chēng)
state — 指定服務(wù)狀態(tài)是停止或是運(yùn)行
started — 啟動(dòng)
stopped — 停止
restarted — 重啟
reloaded — 重載
enabled — 是否讓服務(wù)開(kāi)啟自啟動(dòng)

1.安裝  
[root@m01 ~]# ansible web -m yum -a "name=httpd state=installed"
2.配置  
[root@m01 ~]# ansible web -m copy -a "content='This is Ansible' dest=/var/www/html/index.html"  
3.啟動(dòng)  
[root@m01 ~]# ansible web -m service -a "name=httpd state=started"
script模塊
編寫(xiě)腳本
[root@m01 ~]# mkdir -p /server/scripts
[root@m01 ~]# cat /server/scripts/yum.sh
#!/usr/bin/bash
yum install -y iftop

在本地運(yùn)行模塊,等同于在遠(yuǎn)程執(zhí)行,不需要將腳本文件進(jìn)行推送目標(biāo)主機(jī)執(zhí)行
[root@m01 ~]# ansible oldboy -m script -a “/server/scripts/yum.sh”

file配置模塊

創(chuàng)建目錄
[root@m01 ~]# ansible oldboy -m file -a “path=/tmp/oldboy state=diretory”
創(chuàng)建文件
[root@m01 ~]# ansible oldboy -m file -a “path=/tmp/tt state=touch mode=555 owner=root group=root”
[root@m01 ~]# ansible oldboy -m file -a “src=/tmp/tt path=/tmp/tt_link state=link”
path — 指定遠(yuǎn)程主機(jī)目錄或文件信息
recurse — 遞歸授權(quán)
state —
directory — 在遠(yuǎn)端創(chuàng)建目錄
touch — 在遠(yuǎn)端創(chuàng)建文件
link — link或hard表示創(chuàng)建鏈接文件
absent — 表示刪除文件或目錄
mode — 設(shè)置文件或目錄權(quán)限
owner — 設(shè)置文件或目錄屬主信息
group — 設(shè)置文件或目錄屬組信息

group模塊

name — 指定創(chuàng)建的組名
gid — 指定組的gid
state
absent — 移除遠(yuǎn)端主機(jī)的組
present — 創(chuàng)建遠(yuǎn)端主機(jī)的組(默認(rèn))

創(chuàng)建組,指定gid
[root@m01 ~]# ansible oldboy -m group -a “name=oldgirl gid=888”

user模塊

uid — 指定用戶的uid
group — 指定用戶組名稱(chēng)
groups — 指定附加組名稱(chēng)
password — 給用戶添加密碼
shell — 指定用戶登錄shell
create_home — 是否創(chuàng)建家目錄

創(chuàng)建oldgirl,設(shè)定uid為888,并加入gid為888
[root@m01 ~]# ansible oldboy -m user -a “name=oldgirl uid=888 group=888 shell=/sbin/nologin create_home=no”
隨機(jī)生成加密字符串(-1使用MD5進(jìn)行加密 -stdin 非交互式 -salt 加密參數(shù))
[root@m01 ~]# echo “bgx” | openssl passwd -1 -stdin
固定加密字符串
[root@m01 ~]# echo “123”| openssl passwd -1 -stdin -salt ‘salt

創(chuàng)建普通用戶,并配置對(duì)應(yīng)的用戶密碼
[root@m01 ~]# echo “bgx” | openssl passwd -1 -stdin
$1$1KmeCnsK$HGnBE86F/XkXufL.n6sEb.
[root@m01 ~]# ansible oldboy -m user -a ‘name=xlw password=”$1$765yDGau$diDKPRoCIPMU6KEVEaPTZ0″‘

crond模塊

正常使用crond服務(wù)
[root@m01 ~]# crontab -l
* * * * * /bin/sh /server/scripts/yum.sh

使用ansible添加一條定時(shí)任務(wù)
[root@m01 ~]# ansible oldboy -m cron -a “minute=* hour=* day=* month=* weekday=* job=’/bin/sh /server/scripts/test.sh'”
[root@m01 ~]# ansible oldboy -m cron -a “job=’/bin/sh /server/scripts/test.sh'”

設(shè)置定時(shí)任務(wù)注釋信息,防止重復(fù),name設(shè)定
[root@m01 ~]# ansible oldboy -m cron -a “name=’cron01′ job=’/bin/sh /server/scripts/test.sh'”

刪除相應(yīng)定時(shí)任務(wù)
[root@m01 ~]# ansible oldboy -m cron -a “name=’ansible cron02′ minute=0 hour=0 job=’/bin/sh /server/scripts/test.sh’ state=absent”

注釋相應(yīng)定時(shí)任務(wù),使定時(shí)任務(wù)失效
[root@m01 scripts]# ansible oldboy -m cron -a “name=’ansible cron01′ minute=0 hour=0 job=’/bin/sh /server/scripts/test.sh’ disabled=yes”

mount模塊

present —開(kāi)機(jī)掛載,僅將掛載配置寫(xiě)入/etc/fstab
mounted —掛載設(shè)備,并將配置寫(xiě)入/etc/fstab
unmounted —卸載設(shè)備,不會(huì)清除/etc/fstab寫(xiě)入的配置
absent —卸載設(shè)備,會(huì)清理/etc/fstab寫(xiě)入的配置

僅將掛載的配置寫(xiě)入/etc/fstab,并不會(huì)執(zhí)行掛載操作

[root@m01 ~]# ansible oldboy -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=present"
臨時(shí)掛載設(shè)備,并將掛載信息寫(xiě)入/etc/fstab

[root@m01 ~]# ansible web -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted"
臨時(shí)卸載,不會(huì)清理/etc/fstab
[root@m01 ~]# ansible web -m mount -a “src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=unmounted”

卸載,不僅臨時(shí)卸載,同時(shí)會(huì)清理/etc/fstab
[root@m01 ~]# ansible web -m mount -a “src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=absent”
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Ansible配置管理系統(tǒng) Ansible是一個(gè)配置管理系統(tǒng)configuration management sy...
    山有木兮_8adb閱讀 310評(píng)論 0 0
  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 6,343評(píng)論 0 10
  • 每周一講,健康一生。周一講習(xí)日即將到來(lái),這次講習(xí)日,我們將和大家從國(guó)家政策出發(fā),普及從“首長(zhǎng)保健”走向全民保...
    福華時(shí)代城社康部閱讀 212評(píng)論 0 0
  • 一座離島一傾城,島嶼中央,是花開(kāi)如蓮的時(shí)光。 小小的島,小小的冒險(xiǎn)那時(shí)候,未來(lái)還是遙不可及,生活還是簡(jiǎn)簡(jiǎn)單單,無(wú)憂...
    葉杉然閱讀 799評(píng)論 7 5
  • 當(dāng)沒(méi)勁兒做基礎(chǔ)工作得時(shí)候就去接受刺激,看看人家得孩子都過(guò)著什么樣的生活,想不想給五躍更好的教育?那就去死磕自己!還...
    甄程很自律閱讀 164評(píng)論 0 0

友情鏈接更多精彩內(nèi)容