溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

三、配置管理遠程命令、配置管理任務計劃、其他命令、salt-ssh使用

發(fā)布時間:2020-06-25 16:40:53 來源:網絡 閱讀:243 作者:seventeen_ 欄目:系統(tǒng)運維

一、配置管理遠程命令

master上

#?vi?/srv/salt/shell_test.sls??//加入如下內容
shell_test:???#這是ID
??cmd.script:???#模塊
????-?source:?salt://test/1.sh????#這里定義的是要執(zhí)行的shell腳本
????-?user:?root??#執(zhí)行它的用戶
#?vi?/srv/salt/test/1.sh?//加入如下內容
#!/bin/bash
touch?/tmp/111.txt?
if?[?!?-d?/tmp/1233?]
then
????mkdir?/tmp/1233
fi

更改top.sls內容
#?vi?/srv/salt/top.sls
base:
??'*':
????-?shell_test
#?salt?'yw02'?state.highstate

檢查是否有/tmp/111.txt和/tmp/1233


二、配置管理任務計劃

master上

#?vi?/srv/salt/cron_test.sls??//加入如下內容
cron_test:
??cron.present:
????-?name:?/bin/touch?/tmp/111.txt???#這里的name就相當于crontab?-e里的最后一段
????-?user:?root???#執(zhí)行它的用戶
????-?minute:?'*'??#下面對應的就是crontab里的分、時、日、月、周
????-?hour:?20
????-?daymonth:?'*'
????-?month:?'*'
????-?dayweek:?'*'

注意,*需要用單引號引起來。當然我們還可以使用file.managed模塊來管理cron,因為系統(tǒng)的cron都是以配置文件的形式存在的。想要刪除該cron,需要增加:

cron.absent:
??-?name:?/bin/touch?/tmp/111.txt

兩者不能共存,要想刪除一個cron,那之前的present就得去掉。

更改top.sls

#?vi?/srv/salt/top.sls
base:
??'*':
????-?cron_test
#?salt?'yw02'?state.highstate

到y(tǒng)w02上檢查cron:crontab -l,會看到提示# Lines below here are managed by Salt, do not edit

我們不能隨意改動它,否則就沒法刪除或者修改這個cron了。

#?crontab?-l
#?Lines?below?here?are?managed?by?Salt,?do?not?edit???#這兩行一定不要動,改了就沒辦法再去管理了。
#?SALT_CRON_IDENTIFIER:/bin/touch?/tmp/111.txt
*?20?*?*?*?/bin/touch?/tmp/111.txt???#這一行就是通過腳本定義的,要修改就從腳本修改即可。


三、其他命令

cp.get_file 拷貝master上的文件到客戶端

#?salt?'*'?cp.get_file?salt://test/1.sh??/tmp/123.sh
yw02:
????/tmp/123.sh
fuxi01:
????/tmp/123.sh

cp.get_dir 拷貝目錄

# salt '*' cp.get_dir salt://test/123 /tmp/

//會自動在客戶端創(chuàng)建123目錄,所以后面不要加123,如果寫成 /tmp/123/ ?則會在/tmp/123/目錄下又創(chuàng)建123目錄。


# salt-run manage.up ? ?顯示存活的minion

# salt '*' cmd.script salt://test/1.sh ? 命令行下執(zhí)行master上的shell腳本,對機器批量執(zhí)行。


四、salt-ssh使用

salt-ssh不需要對客戶端做認證,客戶端也不用安裝salt-minion,也不用啟動任何服務,就能夠到對方機器上操作,前提是把本機的公鑰放到對方機器上去,它類似pssh/expect。

安裝很簡單

先安裝好yum源

#?yum?install?-y?https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
#?yum?install?-y?salt-ssh
#?vi?/etc/salt/roster?//增加如下內容
fuxi01:
??host:?192.168.149.133
??user:?root
??passwd:?1346
yw02:
??host:?192.168.149.131
??user:?root
??passwd:?1346
#?salt-ssh?--key-deploy?'*'?-r?'w'????//出現(xiàn)這種是因為首次登陸時會詢問yes/no,重新ssh連接一下即可。
yw02:
????----------
????retcode:
????????254
????stderr:
????stdout:
????????The?host?key?needs?to?be?accepted,?to?auto?accept?run?salt-ssh?with?the?-i?flag:
????????The?authenticity?of?host?'192.168.149.131?(192.168.149.131)'?can't?be?established.
????????ECDSA?key?fingerprint?is?SHA256:Z7xp3qHrdUE3yl4C34LCIrYyaCTvwC/hhZsWu1iZfS4.
????????ECDSA?key?fingerprint?is?MD5:ff:06:a8:bd:b0:d9:2f:72:df:64:07:b2:b0:36:c4:06.
????????Are?you?sure?you?want?to?continue?connecting?(yes/no)??
fuxi01:
????----------
????retcode:
????????254
????stderr:
????stdout:
????????The?host?key?needs?to?be?accepted,?to?auto?accept?run?salt-ssh?with?the?-i?flag:
????????The?authenticity?of?host?'192.168.149.133?(192.168.149.133)'?can't?be?established.
????????ECDSA?key?fingerprint?is?SHA256:PZXNkWqC/6h5hUQYkfOM9AMj82OTskLMIB4qLkgeajU.
????????ECDSA?key?fingerprint?is?MD5:99:19:04:c5:11:8d:94:ad:9a:86:40:b9:ad:b9:d4:8f.
????????Are?you?sure?you?want?to?continue?connecting?(yes/no)?
????????
#?salt-ssh?--key-deploy?'*'?-r?'w'
yw02:
????----------
????retcode:
????????0
????stderr:
????stdout:
?????????17:01:40?up?3?days,?16:58,??2?users,??load?average:?0.00,?0.01,?0.05
????????USER?????TTY??????FROM?????????????LOGIN@???IDLE???JCPU???PCPU?WHAT
????????root?????tty1??????????????????????1610月19??6:57m??0.24s??0.24s?-bash
????????root?????pts/0????192.168.149.1????10:05????6:55m??0.01s??0.01s?-bash
fuxi01:
????----------
????retcode:
????????0
????stderr:
????stdout:
?????????17:01:44?up?3?days,?20:23,??2?users,??load?average:?2.00,?1.43,?0.64
????????USER?????TTY??????FROM?????????????LOGIN@???IDLE???JCPU???PCPU?WHAT
????????root?????tty1??????????????????????1610月19??6:56m??0.10s??0.10s?-bash
????????root?????pts/0????192.168.149.1????17:01???24.00s?12.36s??0.70s?salt-ssh

#?ls?-l?/root/.ssh/authorized_keys??//兩臺機器上查看公鑰,時間一致。
-rw-------?1?root?root?393?10月?26?16:59?/root/.ssh/authorized_keys

//第一次執(zhí)行的時候會自動把本機的公鑰放到對方機器上,然后就可以把roster里面的密碼去掉。

//--key-deploy,如果不加這條,它就不會自動的把公鑰推送到對方機器上去。


現(xiàn)在把/etc/salt/roster中的密碼刪除,再執(zhí)行salt-ssh --key-deploy '*' -r 'w',同樣也可以執(zhí)行成功,這樣就是因為把公鑰推送過去了。第一次需要密碼,第二次就不用了。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI