ansibl 常用模組介紹

2021-08-21 09:04:25 字數 2863 閱讀 7442

yum install epel-release  -y

yum install ansible -y

ansible.cfg    hosts   roles  

ansible.cfg ansible 配置檔案

hosts 主機組的檔案

roles 定義角色的

需要配置ssh 免登陸

ssh-copy-id 10.39.15.14

ansible-doc -l 檢視有哪些模組

ansible-doc --help 檢視命令幫助

1. ping 模組

ansible-doc -s ping

ansible-doc -v ping

2. shell 模組

ansible-doc -v shell

ansible test -m shell -a "uptime"

3. command 模組

ansible test -m command -a "df -h"

ansible test -m command -a "touch /tmp/a.txt"

4. copy 模組

ansible-doc -v copy

ansible all -m copy -a "src=/etc/hosts dest=/tmp/hosts mode=600 owner=elasticsearch"

mode 是檔案許可權

owner 是使用者

5. file 模組

使用file 建立檔案

ansible all -m file -a "path=/tmp/abcd state=touch"

使用file 刪除檔案

ansible all -m file -a "path=/tmp/abcd state=absent"

synchronizw 模組(rsync)

模組引數:

archive 遞推標誌,許可權,時間等待

delete=yes 使兩邊的內容一樣(即以推送為主)

compress=yes 開啟壓縮(預設yes)

ansible all -m synchronize -a "src=~/prometheus.yml dest=/tmp"

拉取遠端的/etc/hosts 到本地的/tmp

ansible all -m synchronize -a "compress=yes group=yes links=yes delete=yes mode=pull src=/etc/hosts dest=/tmp"

script 模組

遠端執行指令碼

ansible all -m script -a "/tmp/a.sh"

user 模組

建立使用者密碼加密

echo "xingxing" | openssl passwd -1 -stdin

建立使用者

ansible all -m user -a "name=xx password='$1$uxbcy0m7$eeyh442sfvwctr/uudat2' uid=2000"

刪除使用者

ansible all -m user -a "name=xx password='$1$uxbcy0m7$eeyh442sfvwctr/uudat2' uid=2000 state=absent"

修改uid

ansible all -m user -a "name=xx uid=3000"

ansible all -m user -a "name=xx remove=yes state=absent"

建立使用者dba

刪除使用者

ansible all -m user -a "name=dba remove=yes state=absent"

cron 計畫任務

ansible all -m cron -a "name='add ntpdata sync' minute=*/2 job='ntpdata cn.pool.ntp.org' state=present"

刪除計畫

ansible all -m cron -a 'name="add ntpdata sync" state=absent'

yum 模組

啟動 ansible-doc -s service

開機啟動

ansible all -m service -a "name=httpd enable=yes state=started"

2.1.1 拷貝秘鑰
ansible test -m copy -a 'src=~/.ssh/id_rsa.pub dest=~' -k

ansible test -a 'ls' -k

ansible test -m shell -a 'mkdir -p .ssh'

ansible test -m shell -a 'cat ~/id_rsa.pub >> ~/.ssh/authorized_keys' -k

ansible test -m shell -a 'cat .ssh/authorized_keys'

方法二:

ansible all -m authorized_key -a "user=ubuntu key='}' path='/ubuntu/.ssh/authorized_keys' manage_dir=no" --ask-pass -c paramiko

python常用模組介紹

import random print random.random 0,1 隨機浮點 print random.randint 1,3 1,3 包含兩邊 print random.randrange 1,3 1,3 不包含3 print random.choice 11,22,33,44,55 對可...

Python os模組常用介紹

os模組提供了大量的檔案和目錄操作方法函式。import os import sys reload sys print 系統預設編碼方式 sys.getdefaultencoding sys.setdefaultencoding utf8 print 設定後系統的編碼方式 sys.getdefaul...

Nginx 常用模組介紹

nginx 核心模組介紹 標準的http功能模組集合 常用模組彙總 ngx http core module 包括一些核心的http引數配置,對應nginx的配置為http區塊部分 ngx http gzip module 壓縮模組,對nginx返回的資料壓縮,屬於效能優化模組 ngx http p...