小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ansible命令執(zhí)行模塊使用

 昵稱54185769 2018-07-23

1、命令執(zhí)行模塊-command

在遠(yuǎn)程節(jié)點(diǎn)上運(yùn)行命令。

命令模塊使用命令名稱,接上空格-的分割符作為參數(shù)使用,但是不支持管道符和變量等,如果要使用這些,那么可以使用shell模塊。

參數(shù)

必填

默認(rèn)

選項(xiàng)

說(shuō)明

Chdir

No

 

 

更換目錄

Creates

No

 

 

當(dāng)文件名已經(jīng)存在的時(shí)候,此步不會(huì)執(zhí)行

Executable

No

 

 

換用shell執(zhí)行命令,表示為一個(gè)絕對(duì)路徑

Free_form

Yes

 

 

需要執(zhí)行的腳本(沒(méi)有真正的參數(shù)為free_form)

Removes

No

 

 

當(dāng)文件名稱存在的時(shí)候,此步不會(huì)執(zhí)行

Warn

No

True

 

如果在ansible.cfg中存在告警,如果設(shè)定了no/False,不會(huì)警告此行

1.1 列出目錄的文件

[root@ansibleserver tmp]# ansible pythonserver -a "ls -l chdir=/tmp creates=kel.conf"

SSH password:

192.168.1.60 | success | rc=0 >>

total 8

-rw------- 1 root root 29 Jan 19 15:13 kel

-rw-r--r-- 1 root root 16 Jan 19 15:13 kel.2016-01-19@15:13~

在這個(gè)里面,首先更換目錄到tmp目錄中,然后查看kel.conf是否存在,如果存在,那么命令不會(huì)執(zhí)行;如果不存在,那么執(zhí)行命令,在這里也可以看到,命令是必須存在的,但是沒(méi)有參數(shù)名為free_form參數(shù)

1.2 切換目錄創(chuàng)建文件

[root@ansibleserver tmp]# ansible pythonserver -a "touch kel.conf chdir=/tmp"

SSH password:

192.168.1.60 | success | rc=0 >>

以上的命令表示為更換目錄到tmp中,然后創(chuàng)建文件kel.conf

 

在使用ansible中的時(shí)候,默認(rèn)的模塊是-m command,從而模塊的參數(shù)不需要填寫(xiě),直接使用即可。

1.3 不支持管道符等操作

[root@ansibleserver tmp]# ansible pythonserver -a "cat /tmp/kel.conf >/tmp/111"

SSH password:

192.168.1.60 | FAILED | rc=1 >>

cat: >/tmp/111: No such file or directory

目錄和文件都是存在的,但是依然報(bào)錯(cuò)不存在目錄或者文件,從而在command命令中是不支持管道符和其他的一些操作的,在使用這些命令的時(shí)候,可以選擇使用shell模塊

2、 shell模塊

在遠(yuǎn)程節(jié)點(diǎn)上執(zhí)行命令。在執(zhí)行命令的時(shí)候使用的是/bin/sh。

參數(shù)

必填

默認(rèn)

選擇

說(shuō)明

Chdir

No

 

 

修改當(dāng)前目錄

Creates

No

 

 

當(dāng)文件名已經(jīng)存在的時(shí)候,此步不會(huì)執(zhí)行

Executable

No

 

 

換用shell執(zhí)行命令,表示為一個(gè)絕對(duì)路徑

Free_form

Yes

 

 

需要執(zhí)行的腳本(沒(méi)有真正的參數(shù)為free_form)

Removes

No

 

 

當(dāng)文件名稱存在的時(shí)候,此步不會(huì)執(zhí)行

Warn

No

True

 

如果在ansible.cfg中存在告警,如果設(shè)定了no/False,不會(huì)警告此行

2.1 執(zhí)行命令保存輸出

[root@ansibleserver tmp]# ansible pythonserver -m shell -a "sh /tmp/kel.sh >>/tmp/kel.log"

SSH password:

192.168.1.60 | success | rc=0 >>

執(zhí)行遠(yuǎn)程機(jī)器上的腳本,腳本目錄為/tmp/kel.sh,然后將執(zhí)行命令的結(jié)果存放在路徑/tmp/kel.log中,注意在進(jìn)行保存文件的時(shí)候,寫(xiě)上全路徑,否則就會(huì)保存在登錄之后的默認(rèn)路徑中。

2.2 換成路徑然后執(zhí)行命令

[root@ansibleserver tmp]# ansible pythonserver -m shell -a "sh /tmp/kel.sh >>kelly.log chdir=/tmp"

SSH password:

192.168.1.60 | success | rc=0 >>

可以看到修改之后的目錄,然后再執(zhí)行命令。

3、腳本執(zhí)行模塊-script

將script傳送到遠(yuǎn)程主機(jī)之后,執(zhí)行。此模塊的執(zhí)行,在遠(yuǎn)程主機(jī)上,不需要python環(huán)境

參數(shù)

必填

默認(rèn)

選擇

說(shuō)明

Creates

No

 

 

當(dāng)文件名已經(jīng)存在的時(shí)候,此步不會(huì)執(zhí)行

Free_form

Yes

 

 

需要執(zhí)行的腳本(沒(méi)有真正的參數(shù)為free_form)

Removes

No

 

 

當(dāng)文件名稱存在的時(shí)候,此步不會(huì)執(zhí)行

3.1 在遠(yuǎn)程主機(jī)上執(zhí)行腳本

[root@ansibleserver tmp]# ansible pythonserver -m script -a "/tmp/kel.sh >/tmp/kelkel.log"

SSH password:

192.168.1.60 | success >> {

    "changed": true,

    "rc": 0,

    "stderr": "",

    "stdout": ""

}

腳本kel.sh在本機(jī)上,然后將腳本遠(yuǎn)程傳送到pythonserver主機(jī)中,然后執(zhí)行這個(gè)腳本,從而將執(zhí)行的結(jié)果保存在全路徑的文件kelkel.log中,在保存文件的時(shí)候,最好用全路徑

4、 ssh命令執(zhí)行模塊-raw

此模塊的執(zhí)行,在遠(yuǎn)程主機(jī)上,不需要python環(huán)境,主要是用來(lái)執(zhí)行臟的ssh命令。

參數(shù)

必填

默認(rèn)

選擇

說(shuō)明

Free_form

Yes

 

 

需要執(zhí)行的腳本(沒(méi)有真正的參數(shù)為free_form)

Removes

No

 

 

當(dāng)文件名稱存在的時(shí)候,此步不會(huì)執(zhí)行

主要使用raw的原因是,如果老版本的python中,那么就需要用raw;如果客戶端是路由器的話,那么沒(méi)有python模塊的話,那么就必須要使用raw模塊

raw很多地方和shell和command相似,更多推薦的地方使用的是shell和command模塊

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多