文章來自于:ansible模塊
查看模塊幫助
ansible-doc -s module
copy模塊
把本地文件copy到指定主機(jī)
ansible host_list -m copy -a 'src=/data/test.sh dest=/data/'
option:
- backup: 在覆蓋前盗飒,將源文件備份(yes|no)
- dest: 目標(biāo)路徑
- directory_mode: 設(shè)置目錄權(quán)限
- force: 如果目標(biāo)主機(jī)包含該文件耿眉,是否強(qiáng)制覆蓋(yes|no)
- group: 指定屬組
- mode: 權(quán)限
- owner: 屬主
- src: 源文件
fetch模塊
從遠(yuǎn)程主機(jī)拉取文件
ansible host_list -m fetch -a 'src=/data/test.sh dest=/data/'
file模塊
更改指定主機(jī)文件權(quán)限嚷那,屬主,和數(shù)組
ansible host_list -m file -a 'dest=/data/test.sh mode=755 owner=root group=root'
option:
- group: 屬組
- mode: 權(quán)限
- owner: 屬主
- path: 路徑
- recurse: 遞歸設(shè)置文件屬性,只實(shí)用state=link
- src: 源文件
- dest: 目標(biāo)文件辖源,只實(shí)用state=link
- state: 狀態(tài)
- directory: 如果目錄不存在,就創(chuàng)建
- file: 文件不存在,也不創(chuàng)建
- link: 創(chuàng)建軟鏈接
- hard: 創(chuàng)建硬鏈接
- touch: 如果文件不存在券坞,則新建
- absent: 刪除目錄,文件或取消鏈接文件
cron模塊
在指定節(jié)點(diǎn)定義計(jì)劃任務(wù)
ansible host_list -m cron -a 'name="test" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.1.1"'
group模塊
在指定節(jié)點(diǎn)上創(chuàng)建用戶組
ansible host_list -m group -a 'gid=2000 name=group1'
user模塊
在指定節(jié)點(diǎn)上創(chuàng)建用戶
ansiblie host_list -m user -a 'name=user state={present(創(chuàng)建)|absent(刪除)} force=(是否強(qiáng)制刪除家目錄) groups=group1 shell=bash'
yum模塊
yum安裝軟件
ansible host_list -m yum -a 'state=present name=httpd'
option:
- name:包名
- state:
- present: 安裝(installed)
- latest: 安裝最新版
- absent: 卸載
service模塊
啟動(dòng)節(jié)點(diǎn)上某服務(wù)肺素,并開機(jī)自啟動(dòng)
ansible host_list -m service -a 'name=nginx state=restarted enabled=yes'
script模塊
在指定節(jié)點(diǎn)上執(zhí)行腳本
ansible host_list -m script -a '/data/script/test.sh'
ping模塊
檢查節(jié)點(diǎn)是否正常通信
ansible host_list -m ping
command模塊
在指定節(jié)點(diǎn)上執(zhí)行命令
ansible host_list -m command -a 'hostname'
get_url模塊
在指定
ansible host_list -m get_url -a 'url=http://www.carzy.top/test.sh dest=/data'
synchronize模塊
將某目錄推送到指定節(jié)點(diǎn)某目錄下
ansible host_list -m synchronize -a 'src=/data/src dest=/data compress=yes'
setup模塊
返回指定主機(jī)相關(guān)信息
ansible host_list -m setup
user模塊
用戶管理
首先通過openssl
命令來生成一個(gè)密碼恨锚,因?yàn)?code>ansible user 的 password
參數(shù)需要通過接受機(jī)密后的值。
$ echo ansible | openssl passwd -1 -stdin
$1$PfV4LEdB$y.u791m56WQw9HpjGsDiD0
批量創(chuàng)建用戶
$ ansible centos -m user -a 'name=carey password=$1$PfV4LEdB$y.u791m56WQw9HpjGsDiD0' -o
192.168.56.101 | SUCCESS => {"changed": true, "comment": "", "createhome": true, "group": 1000, "home": "/home/carey", "name": "carey", "password": "NOT_LOGGING_PASSWORD", "shell": "/bin/bash", "state": "present", "system": false, "uid": 1000}
192.168.56.102 | SUCCESS => {"changed": true, "comment": "", "createhome": true, "group": 1000, "home": "/home/carey", "name": "carey", "password": "NOT_LOGGING_PASSWORD", "shell": "/bin/bash", "state": "present", "system": false, "uid": 1000}