我需要遠程檢查不同服務器上是否存在某些文件。這些服務器位於Linux和AIX中。檢查文件遠程存在於不同的服務器上
我試圖蟒蛇telnet和linux的外殼表現不同的登錄,所以我需要使用不同的代碼,不同的操作系統能夠識別的提示符號,這樣我可以通過telnet發出命令:
的Linux:
tn = telnetlib.Telnet(self.mHost)
tn.read_until(b"login: ")
tn.write(self.mUsername.encode('ascii') + b"\n")
tn.read_until(b"Password: ")
tn.write(self.mPassword.encode('ascii') + b"\n")
(tn.read_until(b"$")).decode('ascii')
AIX:
tn2 = telnetlib.Telnet(self.mHost)
tn2.read_until(b"login: ")
tn2.write(self.mUsername.encode('ascii') + b"\n")
tn2.read_until(b"Password: ")
tn2.write(self.mPassword.encode('ascii') + b"\n")
(tn2.read_until(b">")).decode('ascii')
連接成功的之後,我用一個簡單的 'ls' 的命令檢查的文件。
ls -ltr | awk -F" " '{print $5 "|" $6 "-" $7 "-" $8 "|" $9}' | tail -n 20
但是bash shell和ksh shell在一些命令中可能會有不同的表現,所以我需要一次性寫入運行的解決方案。
可用的選擇:Java 6中,Python的3.0
能否請你告訴你可以使用Java的哪個版本? – Jabir
你忘了把問題/問題,你已經進入職位。 –
爲什麼你必須使用telnet?兩臺服務器都沒有運行SSH守護進程嗎? –