Python之 Ansible常用模組及API

2021-08-14 14:36:16 字數 2386 閱讀 4288

1、功能

模組包括command、script、shell,都可以實現遠端shell命令執行。

command:作為ansible的預設模組,可以執行遠端許可權範圍所有的shell命令;

script: 在遠端主機執行主控端儲存的shell指令碼檔案,相當於scp+shell組合;

shell:執行遠端主機的shell指令碼檔案

2、例子

ansible webservers -m command -a "free -m"

ansible wevservers -m script -a "/home/test.sh 12 34"

ansible wevservers -m shell -a "/home/test.sh"

1、功能

實現主控端向目標主機拷貝檔案,類似於scp功能。

2、例子

實現拷貝/home/test.sh檔案之webservers組目標主機/tmp/目錄下,並更新檔案屬於及許可權(可以單獨使用file模組實現許可權的修改,格式為:path = /etc/foo.conf owner=foo group=foo mode = 0644)

# ansible webservers -m copy -a "src=/home/test.sh dest=/tmp/ owner=root group=root mode=0755"

1、功能

獲取遠端檔案狀態資訊,包括atime、ctime、mtime、md5、uid、gid等資訊。

2、例子

ansible webservers -m stat -a "path=/etc/sysctl.conf"

1、功能

2、例子

ansible webservers -m get_url -a "url= dest=/tmp/index.html mode=0400 force=yes"

1、功能

linux平台軟體包管理操作,常見有yum、apt管理方式

2、例子

ansible webservers -m apt -a "pkg=curl state=latest"

ansible webservers -m yum -a "name=curl state=latest"

1、功能

遠端主機crontab配置

2、例子

ansible webservers -m cron -a "name='check dirs' hour='5,2' hob='ls -alh > dev/null'"
效果如下:

# ansible:check dirs

* 5,2 * * * ls -alh > dev/nullsalt '*' file.chown /etc/passwd root root

1、功能

遠端主機分割槽掛載

2、例子

ansible webservers -m mount -a "name=/mnt/data src=/dev/sd0 fstype=ext3 opts=ro state=present"

1、功能

遠端主機系統服務管理。

2、例子

ansible webservers -m service -a "name=nginx state=stopped"

ansible webservers -m service -a "name=nginx state=restarted"

ansible webservers -m service -a "name=nginx state=reloaded"

1、功能

遠端linux主機sysctl配置。

2、例子

sysctl: name=kernel.panic value=3 sysctl_file=/etc/sysctl.conf checks=before reload=yessalt '*' pkg.upgrade

1、功能

遠端主機系統使用者管理、

2、例子

#新增使用者test

ansible webservers -m user -a "name=test comment='test'"

#刪除用test

ansible webservers -m user -a "name=test state=absent remove=yes"

Ansible之playbook,yaml檔案詳解

要學好ansible,playbook是必須的,playbook是yaml檔案格式,這令很多初次接觸yaml檔案的朋友痛苦不堪,什麼時候會用到 什麼時候不用到 頭大 不廢話,本文將結合python來問做yaml檔案的詳解 首先我們寫簡單的yaml,此段yaml語言和playbook無關,但是對於認識...

C 之常物件,常物件成員

一.常物件 1.常物件定義 time const t1 1,2,3 或者const time t1 2.常物件不能呼叫該物件的非const型的成員函式 系統主動呼叫的構造析構函式除外 3.常成員函式的宣告方法,後面加個const即可 void get time const 4.常物件不能修改物件內的...

ansible之handlers之關於觸發事件

觸發器的作用是主要當我們關注的事件發生變化的時候,我們所要進行的操作。notify 這個action可用於再每個play的最後觸發,這樣可以避免有多次改變時每次都執行制定的操作。取而代之的就是當這些所有的變化發生完成後一次性執行制定的操作。再notify中列出的操作成為handler,即notify...