ansible的簡單使用格式

ansible的簡單使用格式:
Ansible服務器192.168.182.254

ansible HOST-PATTERN -m MOD_NAME -a MOD_ARGS

ansible <host-pattern> [-m module_name] [-a args] [options]

ansible的常用模塊:
獲取所有模塊列表;
ansible-doc -l
獲取模塊參數:
ansible-doc -s module_name

command模塊:在遠程主機運行命令;模塊可省略,默認爲command模塊。
例如:
ansible test -a "adduser test1" 添加用戶
shell模塊:在遠程主機在shell進程下運行命令,支持shell的特性,如管道,重定向等;會在子shell中運行命令
例如:
ansible test -a "echo "123123" | passwd --stdin test1" 批量修改密碼

copy模塊:Copies files to remote locations.複製本地文件至遠程服務器,並且能夠改屬性等
用法:
(1)src= dest=
src=源文件路徑,可以使用絕對路徑也可以使用相對路徑,如果路徑是一個目錄,遞歸的複製目錄;,如果路徑以“/”結束,只有在該目錄的內容複製到目的地。否則,如果它不以“/”結束,與所有內容複製目錄本身;
dest=遠程路徑,必須是絕對路徑,如果src是目錄,dest一定也是目錄
例如:
ansible test -m copy -a 'src=/etc/fstab dest=/tmp/fstab'
(2)content= dest=
owner=,group=,mode= 可以指明目標文件的屬主,屬組,權限
content=源文件,是將數據流覆蓋填充到dest=遠程目標文件中;
例如:
ansible test -m copy -a 'content="hello there\n" mode=400 dest=/tmp/tmpfile'
注意:單引號和雙引號的嵌套;

cron:管理任務計劃
minute=( 0-59, , /2, etc )
day=( 1-31, , /2, etc )
month=( 1-12, , /2, etc )
weekday=( 0-6 for Sunday-Saturday, , etc )
hour=( 0-23,
, /2, etc )
job= #需要執行的任務
name= #必須給的選項
state=
present:創建
absent:刪除
例如:
添加任務計劃:
ansible all -m cron -a "minute=
/5 job='/sbin/ntpdate 172.16.0.1 &> /dev/null' name=Synctime"
刪除任務計劃:
ansible all -m cron -a " t name=Synctime"

查看任務計劃的命令:crontab -l
真實的位置在:/var/spool/cron下面

fetch模塊:從遠程主機上獲取文件到本地主機,只能fetch文件,不能fetch目錄;
dest=本地主機的目錄,只能是目錄,拉取文件到本地時會以IP爲目錄名,在其中保留文件的目錄結構,通常用來備份;
src=只能是遠程主機上的文件,不能是目錄
例如:
ansible all -m fetch -a "src=/tmp/test/123 dest=/tmp/"

file模塊: 設置文件屬性
用法:
(1)創建鏈接文件:path=目標路徑(必給項) src=源文件 state=link
例如:
ansible all -m file -a "src=/tmp/fstab path=/tmp/fstab.link state=link"
(2)修改屬性:path= owner= mode= group=
(3)創建目錄:path= state=directory
例如:
ansible all -m file -a "path=/tmp/test state=directory"
注意:創建目錄可遞歸創建。

hostname模塊:管理主機名
name=
pip模塊: Python的包管理工具

yum模塊:yum程序包管理
name=:程序包名稱,可以帶版本號
state=
present,latest
absent
例如:
安裝軟件包
ansible all -m yum -a "name=lrzsz"
ansible all -m yum -a "name=httpd "
刪除軟件包:
ansible all -m yum -a "name=lrzsz state=absent"

service模塊:管理服務
name=
state=
started:啓動
stopped:停止
restarted:重啓

enabled=是否開機啓動
runlevel=
例如:
ansible all -m service -a "name=httpd state=started"

url模塊:

user模塊:管理用戶賬號
name=
system={yes|no}
uid=
shell= 可選設置默認shell,默認爲/bin/bash
group=
groups=
comment= 可選設置描述,默認爲空
home= 可選設置家目錄,默認創建目錄
state=
present 創建
absent 刪除

setup模塊:用來獲取facts變量

group模塊:用來添加或刪除組
name= (必給的)
state=
present
absent
system=
gid=

script模塊:執行腳本
-a "/PATH/TO/SCRIPT_FILE"

template模塊:基於模板方式生成一個文件複製到遠程主機
src=
dest=
owner=
group=
mode=

等等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章