模塊 | 作用 |
---|---|
command | 執(zhí)行命令 |
shell | 執(zhí)行命令(支持管道符) |
yum | 安裝軟件模塊 |
copy | 配置模塊 |
service | C6啟動模塊 |
systemd | C7啟動模塊 |
user | 用戶管理 |
file | 創(chuàng)建目錄为障、創(chuàng)建文件错维、往文件寫內(nèi)容 |
cron | 定時任務 |
mount | 掛載 |
yum 模塊:
name=名字
state=installed 安裝
state=removed 移除
state=latest 更新
舉例
ansible oldboy -m yum -a "name=httpd state=installed"
copy模塊:
src=本地的文件或目錄
dest=遠端的文件或目錄
dackup=yes 覆蓋時需要備份
content=本地復制到遠端時能在文件里寫內(nèi)容;content和src只能選一個
group=將本地文件推送到遠端蜕劝,指定文件屬組信息
owner=將本地文件推送到遠端,指定文件屬主信息
舉例
推送文件模塊
[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt owner=www group=www mode=0600"
在推送覆蓋遠程端文件前观谦,對遠端已有文件進行備份绑改,按照時間信息備份
[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt backup=yes"
直接向遠端文件內(nèi)寫入數(shù)據(jù)信息,并且會覆蓋遠端文件內(nèi)原有數(shù)據(jù)信息
[root@m01 ~]# ansible oldboy -m copy -a "content='bgx' dest=/tmp/oldboy"
模塊C6作谭;service C7;systemd
name=服務的名稱
state=started 啟動
state=stopped 停止
state=restarted 重啟
state=reloaded 平滑重啟
enabled=yes 開機自啟動
舉例
[root@m01 ~]# ansible oldboy -m service -a "name=crond state=stopped enabled=yes"
模塊script
舉例
編寫腳本
[root@m01 ~]# mkdir -p /server/scripts
[root@m01 ~]# cat /server/scripts/yum.sh
#!/usr/bin/bash
yum install -y iftop
在本地運行模塊奄毡,等同于在遠程執(zhí)行折欠,不需要將腳本文件進行推送目標主機執(zhí)行
[root@m01 ~]# ansible oldboy -m script -a “/server/scripts/yum.sh”
模塊file
path=制定遠程主機目錄或文件信息
state=link 創(chuàng)建軟連接
state=touch 創(chuàng)建文件
state=directory 創(chuàng)建目錄
state=absent 刪除文件或目錄
state=mode 設置文件或目錄權限
state=owner 設置文件或目錄屬主信息
state=group 設置文件或目錄屬組信息
舉例
創(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”
模塊group
name=指定創(chuàng)建的組名
gid=指定組的gid
state=absent 移除遠端主機的組
state=present 創(chuàng)建遠端主機的組
舉例
創(chuàng)建組,指定gid
[root@m01 ~]# ansible oldboy -m group -a “name=oldgirl gid=888”
模塊user
uid=指定用戶的uid
group=指定用戶組名稱
groups=指定附加組名稱
password=給用戶加密碼
shell=指定用戶登錄shell
create_home=是否創(chuàng)建家目錄
舉例
創(chuàng)建oldgirl,設定uid為888锐秦,并加入gid為888
[root@m01 ~]# ansible oldboy -m user -a “name=oldgirl uid=888 group=888 shell=/sbin/nologin create_home=no”
隨機生成加密字符串(-1使用MD5進行加密 -stdin 非交互式 -salt 加密參數(shù))
[root@m01 ~]# echo “bgx” | openssl passwd -1 -stdin
固定加密字符串
[root@m01 ~]# echo “123”| openssl passwd -1 -stdin -salt ‘salt
創(chuà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
name=‘注釋’
minute=分
hour=時
day=日
month=月
weekday=周
job=‘操作’
state=absent 刪除定時任務
disabled=yes 注釋定時任務
舉例
正常使用crond服務
[root@m01 ~]# crontab -l
* * * * * /bin/sh /server/scripts/yum.sh
使用ansible添加一條定時任務
[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'”
設置定時任務注釋信息,防止重復农猬,name設定
[root@m01 ~]# ansible oldboy -m cron -a “name=’cron01′ job=’/bin/sh /server/scripts/test.sh'”
刪除相應定時任務
[root@m01 ~]# ansible oldboy -m cron -a “name=’ansible cron02′ minute=0 hour=0 job=’/bin/sh /server/scripts/test.sh’ state=absent”
注釋相應定時任務赡艰,使定時任務失效
[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=開機掛載
mounted=掛在設備售淡,并將寫入/etcfstab
umounted=卸載設備斤葱,不會清除/etc/fstab
absent=卸載設備,會清理/etc/fstab
fstype=文件類型
舉例
臨時掛載設備揖闸,并將掛載信息寫入/etc/fstab
[root@m01 ~]# ansible web -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted"
臨時卸載揍堕,不會清理/etc/fstab
[root@m01 ~]# ansible web -m mount -a “src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=unmounted”
卸載,不僅臨時卸載汤纸,同時會清理/etc/fstab
[root@m01 ~]# ansible web -m mount -a “src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=absent”