1. 程式人生 > >secureCRT執行命令指令碼

secureCRT執行命令指令碼

  之前寫過VBS的secureCRT指令碼, 功能太少了,改成python的

# $language = "python"
# $interface = "1.0"

#-----------------------------------------------------------------------------------
import os
import time

g_szConfigFile = "D:/Desktop/FTP/python3/secureCRT/test/info.txt"
g_szCommandFile = "D:/Desktop/FTP/python3/secureCRT/test/cmd.txt"
g_szDesktopFolder = "D:/Desktop"

def connectFun(szIPAddr, szUserName = "username", szPassWd = "password"):

    szSSH2cmd = "/SSH2 /L %s /PASSWORD %s %s" % (szUserName, szPassWd, szIPAddr)
    szTelnetcmd = "/Telnet %s" % (szIPAddr)
    result = False
    try:
        crt.Session.ConnectInTab(szSSH2cmd)
        result = True
    except:
        try:
            crt.Session.ConnectInTab(szTelnetcmd)
            crt.Screen.WaitForString("name")
            crt.Screen.Send(szUserName + "\r")
            crt.Screen.WaitForString("ass")
            crt.Screen.Send(szPassWd + "\r")
            result = True
        except:
            crt.Dialog.MessageBox(szIPAddr + " Login Failed!", "connect Failed")
            result = False
    
    return result

def readInfo(szFile):
    #crt.Dialog.MessageBox(szFile)
    if not os.path.exists(szFile):
        crt.Dialog.MessageBox("Can not find file", "No this File")
        return False, []

    objFile = open(szFile,'r')
    return True, objFile.readlines()

def execCMD(szCommandFile):
    bResult, listCMD = readInfo(szCommandFile)
    if bResult:
        for cmd in listCMD:
            crt.Screen.Send(cmd + "\r")
            while crt.Screen.WaitForString("ore-", 3):
                crt.Screen.Send(" ")

            crt.Screen.Send("\r\r\r")
        crt.Session.Disconnect()

#-----------------------------------------------------------------------------------
crt.Screen.Synchronous = True

pathDesktop = g_szDesktopFolder

bResult, listInfo = readInfo(g_szConfigFile)
time = time.strftime("%Y/%m/%d/%H-%M", time.localtime())
if bResult:
    for info in listInfo:
        info = info.strip('\n')
        if connectFun(info): 
            crt.Session.LogFileName = pathDesktop + "/logfile/" + time + "-"+ info + ".txt"
            crt.Session.Log(True)
            execCMD(g_szCommandFile)
            crt.Session.Log(False)
    crt.Dialog.MessageBox("Done!", "Good Job")

crt.Screen.Synchronous = False

相關推薦

secureCRT執行命令指令碼

  之前寫過VBS的secureCRT指令碼, 功能太少了,改成python的 # $language = "python" # $interface = "1.0" #---------------------------------------------------

AWD-ssh批量執行命令指令碼

  前兩年有些AWD比賽,環境沒有做隔離,伺服器初始化密碼都一樣,可通過批量連線每臺伺服器來修改密碼,執行命令。 或者是已經拿到多臺伺服器許可權後,做一個批量管理。 平時企業運維中,可能也用得到。   #-*- coding: utf-8 -*- #!/

SSH遠端登入執行命令指令碼

一、簡述 運維工作中遠端登入執行命令的指令碼很常用,下面分享一下我常用的指令碼 二、指令碼內容 #!/bin/bash SCRIPT_NAME=`basename $0` CURRENT_DIR=$(

Linux下使用SSH非互動式遠端執行命令指令碼

原創文章,轉載請註明— 作者: 黃文海 出處: http://viscent.iteye.com/http://blog.viscenthuang.info     非互動式在遠端主機上執行命令或者指令碼可以幫助我們快速完成一些任務。比如,在叢集環境中,同時在各個結點上的日

linux定時執行命令指令碼——crontab

Linux中,週期執行的任務一般由cron這個守護程序來處理  ps -ef | grep cron cron讀取一個或多個配置檔案,這些配置檔案中包含了命令列及其呼叫時間。cron的配置檔案稱為“crontab”,是“cron table”的簡寫。一、 cron在3個地方查

securecrt 多視窗執行命令

首先在SecureCRT裡同時開啟多個伺服器session(必須是有相同目錄結構) 選擇選單欄View –>Chat Windows 對號,此時所有伺服器連線下方應該有個空白的部分 在空白的部分(Chat Windows)右鍵滑鼠, 選上Send Chat to A

【JS API】指令碼語言-裝置控制介面說明-執行命令

裝置控制介面說明-執行命令 exec 原型: exec(cmd, timeout) 是否支援多裝置: 不支援 對應的 REST API: 執行命令 描述: 在裝置 shell 控制檯上同步呼叫的方式執行命令。同步呼叫是指可以在較短時間內執行完畢並且不需要使用者互動

python指令碼實現本地或遠端執行命令

功能:1、執行本地shell命令,執行完成後獲取結果2、執行本地shell命令,執行中實時獲取輸出結果3、執行遠端shell命令,執行完成後獲取結果4、執行遠端shell命令,執行中實時獲取輸出結果 實際操作:1、安裝paramiko apt-get install python3-pip libev

nohup 命令:後臺執行命令指令碼

轉載出處:AllenW nohup 命令 用途:不掛斷地執行命令。 語法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令執行由 Command 引數和任何相關的 Arg 引數指定的命令,忽略所有結束通話(SIGHUP)訊號。在登出後使用 n

命令執行Python指令碼時傳入引數的三種方式

三種常用的方式 如果在執行python指令碼時需要傳入一些引數,例如gpus與batch_size,可以使用如下三種方式。 python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 p

python-crontab自動任務執行python指令碼中的shell命令

在crongtab -e 中 新增以下,原因環境變數問題 LANG=zh_CN.UTF-8 SHELL=/bin/bash PATH=/bin:/usr/bin:/usr/local/bin:/usr/sbin * * 1 * * python 123.py 有時候可

Windows下vagrant建立VirtualBox後,運用SecureCRT執行rz,sz命令上傳下載檔案

最近因為學習的需要,第一次接觸了vagrant。因為是Windows環境,所以通過cmd中以進去之後,也無法複製黏貼。 rz,sz便是Linux/Unix同Windows進行ZModem檔案傳輸的命令列工具。 windows端需要支援ZModem的telnet/

Android-執行命令指令碼

方式一: Runtime.getRuntime().exec(cmd); 方式二: 先是放入一個String陣列,空格用,號代替,將cmd填入.涉及到靜默安裝的,這裡需要root許可權 String[] args = {"pm", "install"

sh命令 /Linux中執行shell指令碼的4種方法總結

bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在/data/shell目錄中並已有執行許可權。 方法一:切換到shell指令碼所在的目錄(此時,稱為工作目錄)執行shell指令碼:此種方法為阿里雲推

sh命令指令碼在終端執行出現Permission denied的解決辦法

從網上下載的sh批處理檔案在終端執行出現Permission denied的解決辦法: 原因:*.sh檔案沒有執行許可權 解決: 方法1:chmod +x 【此處拖入檔案自動顯示】 .【此處拖入檔案自動顯示】 方法二: bash .【此處拖入檔案自動顯示】 方法

大作業11-指令碼批量遠端執行命令

然後再寫一個通用的可以批量遠端執行命令的expect指令碼: [[email protected] ~]# vim cmd.expect #!/usr/bin/expect set user [lindex $argv 0]  # 系統使用者 set host

cmd 命令列方式執行 matlab 指令碼

                     0. matlab 命令列刪除當前輸入的行ctrl + u1或者 esc1. 命令列執行指令碼首先設定環境變數,將 matlab.exe 新增到環境變數 Path 中,比如我的 matlab 2014a 安裝在 D 盤,則其路徑資訊為:D:\Program Files

C#呼叫命令執行python指令碼,這個辦法可以呼叫python第三方模組和對本地檔案進行操作

string pythonScriptPath = Server.MapPath(@"~\pythonScript");//python指令碼所在的目錄 ProcessStartInfo start = new Pro

shell命令執行hive指令碼(hive互動,hive的shell程式設計)

Hive執行方式 Hive的hql命令執行方式有三種: 1、CLI 方式直接執行 2、作為字串通過shell呼叫hive –e執行(-S開啟靜默,去掉”OK”,”Time taken”) 3、作

解決命令執行shell指令碼成功,但crontab執行失敗

命令列執行指令碼成,但crontab執行shell指令碼不成功是由於兩個原因導致 解決方法 1. 路徑問題 檢視crontab中執行該指令碼的路徑是否正確。例如: */1 * * * * cd /mypath/;./my_shell.sh > /d