場景:在pipeline指令碼整合部署中需要新增dns A記錄,dns是windows上搭建的,指令碼跑在linux上,跨平臺執行命令,方案如下:
使用 dnscmd.exe 這個工具來新增A記錄,已放到百度雲。
命令很簡單:
dnscmd [DNS] /RecordAdd [域] [主機名] A [IP]
C:\\Users\Administrator\Desktop\dnscmd.exe /RecordAdd chtwmtest.com hostA A 10.100.111.2
Add A Record for hostA.chtwmtest.com at chtwmtest.com
Command completed successfully.
可以看到dns已經更新A記錄了
實現linux上執行windows cmd命令需要安裝rsh服務。
windows端:
1.下載rshd-bin-1.7.zip (http://rshd.sourceforge.net/)可在我上傳的百度雲上下載。
2.將rshd.exe和TcpTimedWaitDelay.reg拷貝到windows下面 下麪,將rshd.exe放到c:\下,雙擊TcpTimedWaitDelay.reg將其中內容匯入到註冊表中,TcpTimedWaitDelay.reg就可以刪掉了
3.開啓命令提示字元,輸入如下命令:
cd c:\ #切換到rshd.exe所在目錄
rshd -install -r #加上-r參數安裝rshd,否則會在下一步操作中提示錯誤而不能啓動服務
net start rshd #啓動rshd服務
4.因爲此服務會用到TCP514,TCP544埠,所在還要在防火牆中開啓這兩個埠,下面 下麪以Windows自帶防火牆爲例
開始-設定-控制面板-Windows防火牆(以開啓爲例,沒開啓則不用設定)
選擇"例外"索引標签
選擇"新增埠"按扭
在彈出對話方塊中輸入"名稱"(隨個人喜好),"埠號"並選中下面 下麪的TCP(UDP)
linux端:
安裝rsh服務
yum install -y rsh
好了 已經完成部署,下面 下麪來測試下
在linux上執行:
[xx@xx ~]$ rsh 192.168.6.242 dir d:
D ľ GRMSXVOL_CN_DVD
E5A0-CAD8
D:\
2009/07/14 22:32 122 autorun.inf
2009/07/14 22:32 <DIR> boot
2009/07/14 22:32 383,562 bootmgr
2009/07/14 22:32 667,712 bootmgr.efi
2009/07/14 22:32 <DIR> efi
2009/07/14 22:32 106,760 setup.exe
2009/07/14 22:32 <DIR> sources
2009/07/14 22:32 <DIR> support
2009/07/14 22:32 <DIR> upgrade
4 ļ 1,171,100 5 0
遠端新增dns記錄
rsh 192.168.6.242 C:\\Users\\Administrator\\Desktop\\dnscmd.exe /RecordAdd chtwmtest.com hostA A 10.100.111.1
Add A Record for hostB.chtwmtest.com at chtwmtest.com
Command completed successfully.
可以看到新增成功了。